アプリケーションをコンパイルしてインストールする
この最後のトピックでは、いくつかの新しい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チュートリアルは終わりです!