go getコマンド


go getコマンドについて

外部ライブラリを導入するには、go getコマンドを利用すると便利です。

go get パッケージ名

go getコマンドを発行すると、以下の処理が自動的に行われます。

  • 指定したパッケージのGitリモートリポジトリを$GOPATH/srcへダウンロード
  • 依存パッケージのGitリモートリポジトリを$GOPATH/srcへダウンロード
  • ソースコードのビルド(go installコマンド相当)

例えば、以下のコマンドを発行するとします。

go get github.com/unirita/cuto/master

すると、以下のリポジトリが自動的にダウンロードされ、$GOPATH/src以下に配置されます。

(指定パッケージのリポジトリ)
https://github.com/unirita/cuto
(以下、依存パッケージのリポジトリ)
https://github.com/BurntSushi/toml
https://github.com/cihub/seelog
https://github.com/coopernurse/gorp
https://github.com/mattn/go-sqlite3

そして、$GOPATH/bin以下に実行ファイルmasterが生成されます。

オプション

go getコマンドで使用できる主なオプションには、以下の様なものがあります。

オプション 説明
-u 常にリポジトリの最新のコミットをダウンロードします。
このオプションを指定しない場合はローカルに存在しないリポジトリのみダウンロードが行われます。
-t パッケージのダウンロード後、ビルド前にユニットテストの実行を行います。テストに失敗した場合はビルドを行わずに終了します。
-d ダウンロードのみを行い、ビルドを行いません。

その他、細かなコマンド仕様は公式ドキュメントに記載されています。