はじめに
当エントリは以下のエントリの続きとなっています。
- Go 言語でパッケージを自作して、それを呼び出してみる – その 1 | Go 言語用ポストイット
- Go 言語でパッケージを自作して、それを呼び出してみる – その 2 | Go 言語用ポストイット
- Go 言語でエラーを返却し、受け取った側で適切に処理する | Go 言語用ポストイット
- Go 言語でランダムな文字列を返却する(
math/randライブラリ ) | Go 言語用ポストイット - Go 言語で map ( Key-Value 型の仕組み ) をサンプルコードを通して理解する | Go 言語用ポストイット
- Go 言語で ユニットテストを作成する ( 組み込み機能 )
チュートリアルエントリの最後では、 go のサブコマンドについて学んでいきます。
go run コマンドはコードのコンパイルと実行のための便利なショートカットではありますが、実行可能なバイナリファイルを生成するわけでは有りません。
当エントリでは、以下の 2 つの新しいコマンドを紹介します。
go build: パッケージをコンパイルします。コンパイルの際には依存ライブラリも同梱されます。go install: コンパイルとインストールを同時に行います。
早速作業を始めてみよう!
1. hello ディレクトリで go build コマンドを実行
| |
2. hello ディレクトリで、 生成された hello ファイルを実行
動作確認してみます。
Linux または Mac 環境の場合
| |
Windows 環境の場合
| |
実行可能ファイルは コンパイルした OS と実行する OS が同じ環境であれば go コマンドが使えない環境でも実行することができます。
試しにクリーンな Ubuntu 環境で実行してみましょう。
| |
これにて、パッケージをコンパイルし実行可能ファイルを作成することができました。
ただし、実行するためには、実行可能ファイルを相対パスか絶対パスで指定する必要があります。
相対パスや絶対パスを指定せずともアプリケーションを実行できるようにするために、 go install してみましょう。
3. go コマンドがパッケージをインストールする場所を確認
go list コマンドを使うと、 Go アプリケーションがインストールされるパスを確認することができます。
| |
Go インストールされるディレクトリの情報は、次のステップで利用します。
4. PATH 環境変数に Go のアプリケーションインストールディレクトリを追加
Go アプリケーションのインストールディレクトリをパスに追加します。
Linux または Mac の場合は、 以下のいずれかのコマンドで設定可能です。
| |
| |
Windows の場合は省略します。
ちなみに、インストールディレクトリを既存のディレクトリに変更してしまう事もできます。
例えば、 $HOME/bin のようなディレクトリにインストールしてしまう方が管理しやすい、といった都合があれば、 go env コマンドを実行し Go 用の環境変数のデフォルト値を上書きできます。
| |
go env -w で設定した環境変数はファイルに設定されます。
設定ファイルのパスは以下のコマンドで確認できます。
| |
5. インストール!
準備が終わったら、いよいよインストールです。
| |
何も出力されないので不安ですが、次のステップへ進みましょう。
6. パスを指定せずにアプリケーションを実行
先程は相対パスでアプリケーションを呼び出しましたが、アプリケーション名だけをタイプして実行して見ましょう。
| |
どこに実行ファイルが配置されたのかも確認してみましょう。
| |
想定通りの場所ですね。
ひとこと
簡単なコマンドラインアプリケーションが作成できるようになりました。
ちょっとずつ既存のコードを Go に書き直してさらなる理解を深めていきたいと思います。
お付き合いありがとうございました!