「Go」をMaxOS Xに入れてみた
既にLinux環境にインストールしてあるので別にインストールする必要はなかったんだが、面白そうなんでやってみた。
環境:MacOS 10.5.8
LinuxにインストールできたんだからMacも同じだろと思っていたんだが、やられた。まず久しぶりにMacを立ち上げたんでファームウェアのアップデートから始まった。それがね、適当にOKボタン押していたからPCがシャットダウンしたあと自動的に立ち上がるとばかり思っていたけど、いっこうに立ち上がらないし仕方ないので電源入れたら聞いた事ないようなビープ音だして、ビックリした。これは壊れたかもしれないと思ったけど起動してくれてほっとしたよ。
次に環境変数を整えて、「$HOME/.bash_profile」
export GOROOT=$HOME/go export GOBIN=$HOME/bin export GOARCH=386 export GOOS=darwin export PATH=$PATH:$GOBIN
で反映。
$ source .bash_profile
この「source」コマンドよく忘れるんですよ。だからメモする。
その次に、「mercurial」をインストールするんだけど、どうやってインストールするの?と疑問がわいた。WindowsやLinuxだといろいろやった事あるので問題ないんだが、わからん。調べているうちに「MacPorts(http://www.macports.org/)」ってのがあるらし、MacPortsってのはパッケージ管理システムってことみたい。詳しくはwiki(http://macwiki.sourceforge.jp/wiki/index.php/MacPorts)、Xcodeは既にインストールしてあったんで問題ないだろと思い最新版、MacPorts-1.8.1を落としてきて早速、解凍、./configure、make、やったら落ちた。
Warning: No index(es) found! Have you synced your source indexes?
意味わからんエラーが出たよ。なんで?いろいろ調べたら、最新版はXcodeのバージョンがLeopardで3.1.4以上必要。私のは、3.1.2だった残念。Xcodeのバージョンあげるのかったるいんで、それ用のMacPortsを探しました。ありましたよちゃんと(http://distfiles.macports.org/MacPorts/)、しかも「dmg」形式だったんで簡単インストール。これでやっと「mercurial」をインストールできる。
という訳で、
$ sudo port install mercurial
ちなみに何で「MacPorts」なのに「port」なんだろうね。関係ないね。で「mercurial」のインストールに異様に時間がかかった。10分前後かかったかな。遅いよ、遅い上、何か警告らしきものが表示された。
To fully complete your installation and make python 2.6 the default, please run
sudo port install python_select
sudo python_select python26
んっとこれはなにかな?Pythonのバージョンが2.6じゃないってことかな?
$ python -v
...
Python 2.5.1
ん〜困ったな。試しに「hg」コマンドを実行したら動いたのでよしとする。
$ hg clone -r release https://go.googlecode.com/hg/ $GOROOT
「bison」も導入していないと思うので先にインストール。
$ sudo port install bison
「$HOME/bin」を作って「Go」のインストール
$ mkdir $HOME/bin $ cd $GOROOT/src $ ./all.bash
お風呂に入って来れるかな〜と思っていたけど早かった。しかもLinuxインストール時にはみられなかった
--- cd ../test 0 known bugs; 0 unexpected bugs
をみる事ができて最高です。
あとはテストするだけ!
$ vi hello.go package main import "fmt" func main() { fmt.Printf("Hello, world.\n") } $ 8g hello.go $ 8l hello.8 $ ./8.out Hello, world. $
おおお動いた。面白いですよね。最高です。まあ、「Go」がどこに行くかわ誰にもわかりませんけどね。