アプリケーションのコンパイルとインストール
この最後のトピックでは、新しい`go`コマンドをいくつか学習します。`go run`コマンドは頻繁に変更を加える際にプログラムをコンパイルして実行するための便利なショートカットですが、バイナリ実行ファイルは生成しません。
このトピックでは、コードをビルドするための2つの追加コマンドを紹介します
go build
コマンドは、依存関係とともにパッケージをコンパイルしますが、結果はインストールしません。go install
コマンドは、パッケージをコンパイルしてインストールします。
- helloディレクトリのコマンドラインから、
go build
コマンドを実行してコードを実行ファイルにコンパイルします。$ go build
- helloディレクトリのコマンドラインから、新しい
hello
実行ファイルを実行して、コードが機能することを確認します。テスト後にgreetings.goコードを変更したかどうかにより、結果が異なる場合があります。
- LinuxまたはMacの場合
$ ./hello map[Darrin:Great to see you, Darrin! Gladys:Hail, Gladys! Well met! Samantha:Hail, Samantha! Well met!]
- Windowsの場合
$ hello.exe map[Darrin:Great to see you, Darrin! Gladys:Hail, Gladys! Well met! Samantha:Hail, Samantha! Well met!]
アプリケーションを実行ファイルにコンパイルしたので、実行できます。しかし、現在実行するには、プロンプトが実行ファイルのディレクトリにあるか、実行ファイルのパスを指定する必要があります。
次に、パスを指定せずに実行できるように、実行ファイルをインストールします。
- LinuxまたはMacの場合
go
コマンドが現在のパッケージをインストールするGoインストールパスを確認します。go list
コマンドを実行すると、次の例のようにインストールパスを確認できます。$ go list -f '{{.Target}}'
たとえば、コマンドの出力に
/home/gopher/bin/hello
と表示される場合、バイナリは/home/gopher/binにインストールされます。次のステップでこのインストールディレクトリが必要になります。- システムのシェルパスにGoインストールディレクトリを追加します。
そうすることで、実行ファイルの位置を指定せずにプログラムの実行ファイルを実行できます。
- LinuxまたはMacでは、次のコマンドを実行します。
$ export PATH=$PATH:/path/to/your/install/directory
- Windowsでは、次のコマンドを実行します。
$ set PATH=%PATH%;C:\path\to\your\install\directory
別の方法として、既にシェルパスに
$HOME/bin
のようなディレクトリがあり、そこにGoプログラムをインストールしたい場合は、go env
コマンドを使用してGOBIN
変数を設定することで、インストールターゲットを変更できます。$ go env -w GOBIN=/path/to/your/bin
または
$ go env -w GOBIN=C:\path\to\your\bin
- LinuxまたはMacでは、次のコマンドを実行します。
- シェルパスを更新したら、
go install
コマンドを実行してパッケージをコンパイルしてインストールします。$ go install
- 名前を入力するだけでアプリケーションを実行します。面白くするために、新しいコマンドプロンプトを開き、別のディレクトリで
hello
実行ファイル名を実行します。$ hello map[Darrin:Hail, Darrin! Well met! Gladys:Great to see you, Gladys! Samantha:Hail, Samantha! Well met!]
これで、このGoチュートリアルは終了です!