「go install」の詳細: ビルドとインストールのプロセスを解明する
ドキュメントでは説明されていないことが多い、go build と go の区別インストールするときに開発者が困惑する可能性があります。ほとんどの人は、go install がコンパイルされた実行可能ファイルを指定された場所に再配置することで make install の機能をミラーリングすることを期待していますが、結果が GOROOT/bin ディレクトリに存在することに驚いています。この記事は、両方のコマンドの目的と動作を明確にすることを目的としています。
実際に何が起こるのか?
go build は、シンプルなコンパイル ツールです。実行可能ファイルをアセンブルして、指定された保存先に保存するだけです。一方、 go install は、もう少し複雑なプロセスを実行します。
パッケージ ツリーの視覚化
go build とgo install では、次のパッケージ ツリーを考慮してください:
. ├── bin │ └── hello # by go install └── src └── hello ├── hello # by go build └── hello.go
hello 実行可能ファイルは go build によってコンパイルされ、は src/hello ディレクトリにありますが、 go install はそれを $GOPATH/bin に配置し、依存関係キャッシュを $GOPATH/pkg に保存します。
インストール場所はカスタマイズできますか?
make install とは異なり、go install にはカスタム インストール ディレクトリを指定するオプションがありません。このレベルの制御を実現するには、ビルドとインストールのプロセスを定義する Makefile を作成する必要があります。ただし、このアプローチは一般的に推奨されません。
追加のコンテキスト
さらに詳しい情報については、次のトピックに関する公式ドキュメントを参照してください。
以上が「go build」と「go install」の違いは何ですか?また、実行可能ファイルはどこにインストールされますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。