Go をインストールしたときの作業記録です.当時の環境は,
- Mac OS X 10.8.5
- Go 1.2.2
- Emacs 24.3
- el-get
- Homebrew
です.この作業では,
- go-mode
- go-autocomplete
- go-eldoc
- flycheck
- godef
をインストール・設定することを目標とします.
Go のインストール
公式パッケージをインストールします.
~/work $ curl -O https://storage.googleapis.com/golang/go1.2.2.darwin-amd64-osx10.8.pkg
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 52.9M 100 52.9M 0 0 261k 0 0:03:27 0:03:27 --:--:-- 310k
~/work $ openssl sha1 go1.2.2.darwin-amd64-osx10.8.pkg
SHA1(go1.2.2.darwin-amd64-osx10.8.pkg)= 5d78f2a3fe82b01fe5dfcb267e703e754274b253
~/work $ say ok
~/work $ open go1.2.2.darwin-amd64-osx10.8.pkg
このあと,環境変数 PATH に /usr/local/go/bin
を設定します(私は /etc/launchd.conf
で設定しました).
go-autocomplete のインストール
この作業の前に,どこでもいいので GOPATH
を設定しておきます(とりあえず,$HOME/go
としました).GOPATH
を設定したら,環境変数 PATH に $GOPATH/bin
を追加しておきます.
(defvar tnoda/gopath (expand-file-name "go" (getenv "HOME")))
(defvar tnoda/gopath-bin (expand-file-name "bin" tnoda/gopath))
(setenv "GOPATH" tnoda/gopath)
(setenv "PATH" (concat (getenv "PATH") ":" tnoda/gopath-bin))
(add-to-list 'exec-path tnoda/gopath-bin)
まず,el-get の go-autocomplete レシピは gocode を自動的にインストールしてくれないので,手動でインストールします:
~ $ go get github.com/nsf/gocode
次に el-get で
(el-get 'sync 'go-autocomplete)
これで同時に go-mode も使えるようになります.
go-eldoc のインストール
go-eldoc には gocode が必要ですが,go-autocomplete のところでインストール済.あとは,el-get で,
(el-get 'sync 'go-eldoc)
flycheck の設定
flycheck 本体のインストール・設定は,el-get で,
(el-get 'sync 'flycheck)
(add-hook 'go-mode-hook 'flycheck-mode)
するだけです.あとは,flycheck が使うコマンドをインストールしておきましょう.
~ $ go get github.com/golang/lint/golint
~ $ go get github.com/kisielk/errcheck
godef のインストール
godef の elisp は go-mode に含まれているので,あとは godef 本体をインストールするだけです.
~ $ go get code.google.com/p/rog-go/exp/cmd/godef
私は Clojure の CIDER と同じキーバインドに設定しています.
おわりに
Mac OS X に Go と Emacs 関連ツールをインストールして,とりあえず Go を書ける状態まで持っていきました.基本的には go get
と el-get
だけでインストールできるので簡単です.そのほか,ここには書いていないものも含めて Emacs 設定の全ては,GitHub のリポジトリ に書いてあります.