ホームページ >バックエンド開発 >Golang >Go の「go build」と「go install」の違いは何ですか?

Go の「go build」と「go install」の違いは何ですか?

DDD
DDDオリジナル
2024-12-02 18:01:15334ブラウズ

What's the Difference Between `go build` and `go install` in Go?

Go Install は実際に何をするのですか?

Go のドキュメントでは go build と go install の違いが説明されていません。詳細。 install は make install パターンに従うこと、つまりコンパイルされたアーティファクトを取得して、最終的に指定された場所に配置することを期待する人もいるかもしれません。ただし、go install の場合は、代わりに GOROOT/bin に配置されます。

Go Build と Go Install

go build は実行可能ファイルのみをコンパイルします。そして指定された宛先に移動します。一方、 go install は追加のタスクを実行します。

  • 実行可能ファイルを $GOPATH/bin に移動します
  • $GOPATH/pkg にインポートされるメイン以外のパッケージをすべてキャッシュします

ソース コードが残っている限り、キャッシュされた依存関係は後続のコンパイルで利用されます。

パッケージ ツリーの視覚化

go build と go install を使用した結果を説明するには:

├── bin
│   └── hello  # by go install
└── src 
    └── hello
        ├── hello  # by go build
        └── hello.go

注: go build は現在のディレクトリ内に実行可能ファイルを生成しますが、go install はそれを次のディレクトリに配置します$GOPATH/bin.

さらに詳しい情報と高度な機能については、Go の公式ドキュメントを参照してください: [https://go.dev/doc/install/troubleshooting#how-go-install-works]( https://go.dev/doc/install/troubleshooting#how-go-install-works)

以上がGo の「go build」と「go install」の違いは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。