アプリケーションのコンパイルとインストール

この最後のトピックでは、新しい`go`コマンドをいくつか学習します。`go run`コマンドは頻繁に変更を加える際にプログラムをコンパイルして実行するための便利なショートカットですが、バイナリ実行ファイルは生成しません。

このトピックでは、コードをビルドするための2つの追加コマンドを紹介します

  1. helloディレクトリのコマンドラインから、go buildコマンドを実行してコードを実行ファイルにコンパイルします。
    $ go build
  2. 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!]
      

    アプリケーションを実行ファイルにコンパイルしたので、実行できます。しかし、現在実行するには、プロンプトが実行ファイルのディレクトリにあるか、実行ファイルのパスを指定する必要があります。

    次に、パスを指定せずに実行できるように、実行ファイルをインストールします。

  3. goコマンドが現在のパッケージをインストールするGoインストールパスを確認します。

    go listコマンドを実行すると、次の例のようにインストールパスを確認できます。

    $ go list -f '{{.Target}}'
    

    たとえば、コマンドの出力に/home/gopher/bin/helloと表示される場合、バイナリは/home/gopher/binにインストールされます。次のステップでこのインストールディレクトリが必要になります。

  4. システムのシェルパスに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
    
  5. シェルパスを更新したら、go installコマンドを実行してパッケージをコンパイルしてインストールします。
    $ go install
  6. 名前を入力するだけでアプリケーションを実行します。面白くするために、新しいコマンドプロンプトを開き、別のディレクトリでhello実行ファイル名を実行します。
    $ hello
    map[Darrin:Hail, Darrin! Well met! Gladys:Great to see you, Gladys! Samantha:Hail, Samantha! Well met!]
    

これで、このGoチュートリアルは終了です!