Goの開発環境を構築したときの手順をまとめておきます。
今回は、以下の環境を利用しています。
- MacOS X 10.10.2
- Go 1.4.2
- Eclipse 4.4 (Eclipse IDE for Java EE Developers)
- GoClipse 0.9.1
#Goのインストール・設定
Homebrewでインストールします。
$ brew install go
正常にインストールできたか、バージョンを確認します。
$ go version
go version go1.4.2 darwin/amd64
#環境変数の設定
Goを利用する上では、以下の環境変数を設定します。
- GOROOT
- Goのインストールディレクトリです。Goを自分でビルドした場合は設定が不要、など、いろいろとポリシーがあるようですが、ここでは素直にインストールディレクトリを指定します。Homebrewでインストールすると "/usr/local/opt/go/libexec/" になります。
- GOPATH
- ユーザ自身のワーキングディレクトリになります。"go install"したときのパッケージのインストール先になります。"go get"でリモートパッケージを取得する場合も、この配下にパッケージが配置されるようです。
ここでは、設定は .bash_profile に以下のように記述しておくことにします。
export GOROOT=/usr/local/opt/go/libexec
export GOPATH=$HOME/go/golocal
export PATH=$PATH:$GOROOT/bin:$GOPATH/bin
#GoGlipse のインストール・設定
前提として、JDK、Eclipse自体は、インストールされているものとします。
##GoGlipseのインストール
以下のUpdateSiteから、最新版をダウンロードしてインストールします(Eclipse Marcketplace で公開されているのが、なぜか古いままなので)。
GoClipseのインストールが完了したら、Eclipseのメニューから"環境設定 -> Go"と進み、以下の設定を行います。
- GOROOT
- 環境設定で指定した"/usr/local/opt/go/libexec"を指定します。
- GOPATH
- ここでは空で設定しておきます。環境設定で指定した値を指定したら、パスがEclipseのプロジェクトのパス配下になってしまい、うまく動作しないみたいです。
##Goスクリプトの作成・実行
Eclipseのメニューから、"Go Project" を選択して、プロジェクトを作成します。
プロジェクトを作成すると、自動的に以下の階層が作成されます。Go標準のディレクトリ構成になります。
<project>
├─bin
├─pkg
└─src
src配下に、Goスクリプトを作成します。
package main
import "fmt"
func main() {
fmt.Println("Hello world!")
}
このスクリプトを実行して、コンソールに"Hello world!"と出力されればOKですね。
もし、コンパイルエラーにはなっていないのに、実行時に、"go install: no install location for directory"というエラーが発生する場合は、Goスクリプトの配置パスが問題です。
srcディレクトリ直下にGoスクリプトを配置していると、上記のエラーが発生します。
これで、実装自体は可能になります。
gofmtなども適用されるので、自動フォーマットもされます。言語標準で、フォーマッタが備わっているのは便利ですね。
#デバッグ環境の設定
Go単体では、デバッグができません。
ブレイクポイントをしかけても、ストップせずに通過してしまいます。
##GDBのインストール
Goの場合、GDBを利用して、デバッグを行います。この辺りは、ちょっと手間ですね。
Macでは、デフォルトではGDBはインストールされていないので、Homebrewでインストールを行います。
$ brew install homebrew/dupes/gdb
##セキュリティの設定
Macの場合、GDBをインストールしただけだと、セキュリティ上の制限で、利用できません。
証明書の設定が必要になるのですが、以下のサイトを参考にさせて頂きました。
- MacでGoのデバッグ環境を構築する
- MacのIntelliJ IDEA でGO言語を使う③ ~GDBを使ってみる~
- Mac OS X 10.9 MavericksでgdbでGoのコードをデバッグする
##Eclipseの設定
GDBの設定は、GoClipseの設定ではなく、C/C++の設定になります。
"環境設定 -> C/C++ -> Debug -> GDB"と進み、GDBの設定を行います。
"GDB debugger"の設定だけが必要になりますが、Homebrewでインストールした場合は、"/usr/local/bin/gdb"になります。
これで、Goをデバッグするための環境が整いました。
##デバッグの実行
早速、デバッグをしてみます。
ブレイクポイントを仕掛けてみると、指定した箇所でストップし、右上の"Variables"タブの部分に、変数の内容が出ていますね!
無事、実装からデバッグを行うGoの開発環境が整いました。