Plan 9とGo言語のブログ

主にPlan 9やGo言語の日々気づいたことを書きます。

管理者権限が無くてもMacにGoをインストールする

この記事はQiitaで公開されていました

brew本体をインストールするのもGo公式パッケージを入れるのも管理者権限を要求されますが、権限が無くてもGoはソースからインストール可能ですしなるべく環境を汚さないようにしたい場合にも有用だと思います。

ただし前提として、Command Line Toolsが入っていないとどうしようもありません。

Python

Goをコンパイルするにはhgを必要とします。hgをインストールするにはPythonにdocutilsパッケージが入っていることを要求しますが、OS X標準Pythonには入っていません。なので、自前でPython本体をインストールして、これにhgをインストールさせます。

$ curl (Python 2.7.8のURL) >Python-2.7.8.tgz
$ tar zxf Python-2.7.8.tgz
$ cd Python-2.7.8
$ ./configure —prefix=$HOME/opt
$ make
$ make install

ここでは~/opt以下へインストールさせましたので、環境変数PATHの先頭に~/opt/binを追加して、自前Pythonを使うようにします。

$ export PATH=~/opt/bin:$PATH
$ . $HOME/.profile
$ which python
/Users/lufia/opt/bin/python

Docutils

次はhgのインストールに必要なDocutilsを自前Pythonへ入れます。 setup.pyを実行したPython環境へインストールされるようですので、実行前にどのPythonが使われるか確認したほうがいいでしょう。 下は直接インストールさせていますが、easy_install経由でもいいみたい。

$ tar zxf docutils-0.11.tar.gz
$ cd docutils-0.11
$ python setup.py install

Mercurial (hg)

Mercurialはmake時のPREFIX変数でインストール先を切り替えるようです。

$ tar zxf mercurial-3.0.2.tar.gz
$ cd mercurial-3.0.2
$ make PREFIX=$HOME/opt all
$ make PREFIX=$HOME/opt install

Go

準備が整ったので最後にGoをインストール。

$ export GOROOT=$HOME/go
$ cd $GOROOT
$ hg clone https://code.google.com/p/go .
$ cd src
$ ./all.bash