ホームページ >バックエンド開発 >Golang >go.sum ファイルを取得してインストールします

go.sum ファイルを取得してインストールします

王林
王林転載
2024-02-12 09:27:081090ブラウズ

go get 与 go install 在 go.sum 文件上

php エディタ Zimo では、go.sum ファイルでの Go 言語の「go get」および「go install」コマンドの使用方法を紹介します。 Go 言語プロジェクトでは、go.sum ファイルを使用して、プロジェクトが依存するパッケージとそのバージョン情報を記録し、ビルドおよびデプロイメント プロセス中のプロジェクトの安定性と一貫性を確保します。 go.sum ファイルに対する "go get" および "go install" コマンドの影響を理解することで、プロジェクトの依存関係をより適切に管理および制御し、開発効率とコードの品質を向上させることができます。これら 2 つのコマンドの具体的な使い方を一緒に学びましょう。

質問内容

go 1.20.3

を使用しています。

go get と go install を使用してこのパッケージをインストールしました

リーリー

私の go.sum ファイルには次の内容が含まれています:

リーリー

go.mod ファイルは:

リーリー

私の $home/go/pkg/mod/github.com/mactsouk/aod

リーリー

$home/go/bin/ にはファイルが 2 つだけあり、何もありません。なぜ go install は simplegithub モジュールのバイナリ ファイルをコピーしないのでしょうか?

リーリー

go get と go install に違いはありますか?このモジュール ファイルが go.sum に 2 回あるのはなぜですか?

解決策

入手してインストールしてください

Go の go get および go install コマンドには、異なる目的があります:

go get は、リモート リポジトリからパッケージとその依存関係を取得およびダウンロードするために使用されます。ダウンロードしたパッケージのバージョンで go.mod および go.sum ファイルを更新します。パッケージがすでに存在する場合は、 go get を実行すると最新バージョンに更新されます。

go install パッケージをコンパイルして、プロジェクトの GOPATH または GOBIN にインストールします。 go.mod または go.sum ファイルは更新されません。代わりに、これらのファイル内の情報を使用して、使用する依存関係の正しいバージョンを決定します。

あなたの場合、 go get を実行すると、パッケージ github.com/mactsouk/go/simpleGitHub とその依存関係がダウンロードされ、インストールされます。このアクションにより、ダウンロードされたパッケージのバージョンで go.mod および go.sum ファイルが更新されます。

その後、同じパッケージに対して go install を実行する場合、パッケージはローカル Go モジュール キャッシュにすでに存在しているため、パッケージを再度ダウンロードする必要はありません。したがって、 go install はキャッシュ内の既存のパッケージとそのバージョンを使用し、 go.mod または go.sum ファイルを変更しません。

このモジュールが go.sum ファイル内で 2 回リストされている理由は、モジュール バージョン (v0.0.0-20180603081621-6a282087f7bd) と、それに対応する go.mod ファイル (チェックサムが含まれている) が含まれているためです。 。これは予期された動作であり、依存関係の整合性が保証されます。

要約すると、 go get と go install は異なる目的を持ち、モジュールが go.sum ファイル内で繰り返されるのは通常のことです。

以上がgo.sum ファイルを取得してインストールしますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はstackoverflow.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。