アプリケーションをコンパイルしてインストールする

この最後のトピックでは、いくつかの新しい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チュートリアルは終わりです!