macにGoの開発環境を構築する

  • 6
    いいね
  • 0
    コメント

Goの勉強をはじめました。

導入から環境構築まで色々ググりながらやっていたのですが意外と情報が微妙に古かったり乱雑していたので、メモがてらまとめました。

今回はGoのインストールからIntelliJのプラグイン設定まで
バージョン管理のgvmでの導入になりますが、そんなの使わないでサクッと入れたい人はhomebrewでも入れられます。

gvmのインストール

まずはバージョン管理のgvmをhttps://github.com/moovweb/gvm:titleに従いながらインストールします。

% bash < <(curl -s -S -L https://raw.githubusercontent.com/moovweb/gvm/master/binscripts/gvm-installer)

僕はzshを使っているので、bashの部分をzshに書き換えました。

インストールが出来たら下記コマンドで反映

% source $HOME/.gvm/scripts/gvm

Goのインストール

インストールできるバージョンを確認

% gvm listall

gvm gos (available)

   go1
   go1.0.1
   go1.0.2
   go1.0.3
・・・
   go1.6rc1
   go1.6rc2
   go1.7
   go1.7.1
   go1.7beta1
   go1.7beta2
・・・

最新の1.7.1をインストール
どうやらgvmで最新のgo1.5以上を入れるときはバイナリを突っ込む必要があるそうです。

% gvm install go1.7.1 -B

確認

% gvm list

gvm gos (installed)

   go1.7.1

このままではgoと叩いても反応しないので、インストールした1.7.1を指定してあげます。

% gvm use go1.7.1
Now using version go1.7.1

もう一度確認すると矢印がついてgoが使えるようになります。

% gvm list

gvm gos (installed)

=> go1.7.1
% go version
go version go1.7.1 darwin/amd64

gvmで入れると$GOPATH$GOROOTは自動で入るみたいです。
これはバージョンを切り替えても自動で切り替わってくれます。

% go env
GOARCH="amd64"
GOBIN=""
GOEXE=""
GOHOSTARCH="amd64"
GOHOSTOS="darwin"
GOOS="darwin"
GOPATH="$HOME/.gvm/pkgsets/go1.7.1/global"
GORACE=""
GOROOT="$HOME/.gvm/gos/go1.7.1"
GOTOOLDIR="$HOME/.gvm/gos/go1.7.1/pkg/tool/darwin_amd64"
CC="clang"
GOGCCFLAGS="-fPIC -m64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=/var/folders/y2/zz_q5ltx7v17184mmkfcbg8w0000gn/T/go-build277300899=/tmp/go-build -gno-record-gcc-switches -fno-common"
CXX="clang++"
CGO_ENABLED="1"

今後作業ディレクトリは$GOPATHで行うことになります。
めったにバージョンは変えない、作業ディレクトリは$HOME/devとか分かりやすい場所がいいと言う方は直で指定しちゃいましょう。

export GOPATH=$HOME/dev
export PATH=$GOPATH/bin:$PATH

IntelliJの導入

ここからIntelliJ IDEA14 Community Editionをダウンロードします。

通常どおりプラグインを入れるとSDKが指定できずにハマるので以下のページからjarファイルをインストールする。
https://github.com/go-lang-plugin-org/go-lang-idea-plugin/releases?after=%23460

Releases_·_go-lang-plugin-org_go-lang-idea-plugin.png

IntelliJ IDEA->Configure->Plugin->Install plugin from disk...を選択、ダウンロードしたGo.201.zipを選択してインストール。
すると
Restartと促されるのでそのまま従い再起動。
Welcome_to_IntelliJ_IDEA.png
Eventsに従いupdateをし、再度再起動。

Create New Project->GOを選択
まだSDKは現れないので、Configureを開きパスに$GOROOTのパスを指定すると無事SDKが指定できます。
New_Project.png

あとはプロジェクト名を指定し、プロジェクトパスを$GOPATHに設定

プロジェクト上にmain.goファイルを作成し、お決まりのhello worldならぬhello go

main.go

package main

import "fmt"

func main() {
    fmt.Println("hello go")
}

メニューバーのRunからRunを実行すると無事にhello goが実行されます。
コマンドだと

% go run main.go

参考サイト

http://dev.classmethod.jp/server-side/language/golang-1/
http://www.songmu.jp/riji/entry/prepare-golang-development-environment-on-mac.html
http://shepherdmaster.hateblo.jp/entry/2015/02/02/192327
http://qiita.com/yamadagenki/items/5032cf853f6b136b533f
http://qiita.com/adarah_g/items/85d12583386dc19f6c4e