GoのDocker環境を立てている時に go install
と go mod tidy
の厳密な動作内容などでつまづいたのでフローで整理しておきます。正しいんだろうかと悩んでいるのでお気軽にツッコミください。
go install
外部のモジュールを新しく導入したい時に使う。ただソースコードをダウンロードしてくるだけではなく、ダウンロードしたモジュールを実行可能なバイナリにビルドもしてくれるコマンド。
ってことは差分が go install
しただけであれば理論上は go build
しなくて良い?
go mod tidy
go.modファイルとソースコードとの整合を取ってくれるコマンド。go.modとgo.sumに必要なエントリを加え不要なエントリを削除する。エントリを加えた場合は加えたエントリのソースコードも併せてダウンロードしてくる。(ただしビルドはしない)
逆にエントリを削除した場合は削除したエントリのソースコードも削除する。