Goインストールメモ(dep)
RustでWebサーバーを書いていたのですが、このところ非同期IOまわりの実装が活発なようで、シンプルに書こうと思うと、まだ発展途上な部分が目立ったので、筆休めにGoをはじめてみました。
というわけで環境構築用の自分用メモです。
環境要件
- Mac OS X 10.13.6
$ sw_vers
ProductName: Mac OS X
ProductVersion: 10.13.6
BuildVersion: 17G65
GVMのインストール
GVMはNVMとかと同じ、ランタイムのバージョンマネージャ。
$ bash < <(curl -s -S -L https://raw.githubusercontent.com/moovweb/gvm/master/binscripts/gvm-installer)
Cloning from https://github.com/moovweb/gvm.git to /Users/xyz/.gvm
No existing Go versions detected
Installed GVM v1.0.22
Please restart your terminal session or to get started right away run
`source /Users/xyz/.gvm/scripts/gvm`
$ source ~/.gvm/scripts/gvm
$ gvm version
Go Version Manager v1.0.22 installed at /Users/xyz/.gvm
Goのインストール
GVMを使って、Goをインストールする。
gvm install
では、-B
をつけないと、ソースからビルドしてインストールしようとするのですが、このビルド自体にGoが使われるため、初めてインストールする場合は-B
オプションが必要になります。
$ gvm listall
gvm gos (available)
..
go1.11.3
go1.11.4
go1.12beta1
go1.12beta2
..
$ gvm install go1.11.4 -B
Installing go1.11.4 from binary source
$ gvm use go1.11.4
Now using version go1.11.4
$ go version
go version go1.11.4 darwin/amd64
$ echo "
source ~/.gvm/scripts/gvm
gvm use `gvm list | grep -v gvm | grep -v '^ *$' | tr -d '=>' | tail`
">>~/.bash_profile
depのインストール
dep
はパッケージマネージャ。Mavenとか、NPMとかと同じ。brew, sh, go等でインストールできます。depを使うにあたって、環境変数GOPATH
の設定が必要になるので、このあたりも一緒に設定します。
$ go get -u github.com/golang/dep/cmd/dep
$ dep version
dep:
version : devel
build date :
git hash :
go version : go1.11.4
go compiler : gc
platform : darwin/amd64
features : ImportDuringSolve=false
$ mkdir -p ~/Golang # Goのプロジェクト群を配置したい任意のディレクトリ
$ export GOPATH=~/Golang
プロジェクトの作成とビルド
GOPATH
を設定したあとは、そこまで気にするポイントは多くありません。
$ mkdir -p $GOPATH/src/github.com/{username}/go-hello
$ cd $GOPATH/src/github.com/{username}/go-hello
$ dep init
$ echo '
package main
func main() {
println("hello!")
}
'>main.go
$ # 今回は使いませんが依存を追加する場合は以下のようにします(goファイルが存在しないと失敗します)
$ # dep ensure -add github.com/{username}/{repository}
$ go build
$ ./go-hello
hello!