夢のかけら

Goエンジニアの技術ブログ

【Golang】go get とgo installの違い

f:id:lampler:20211027124032p:plain

go.mod

go getをすると中身が変わる。自分で触るファイルではない。

go get

このコマンドはgo.modを書き換えてソースコードのダウンロード、ビルド、インストールを行う。 環境変数GOMODCACHEで指定されているディレクトリにダウンロードされる。 コマンドのインストールで go getを使うのは非推奨。コマンドとはmainパッケージをビルドしたバイナリファイルのこと。

go mod tidy

main.goなどに import "github.com/hoge"と記述して、go mod tidyをすれば勝手にインストールされる。

go install

GitHub上からパッケージをインストールするときにmainパッケージが存在するものに対して使う。 mainパッケージがないリポジトリを指定するとエラーになる。 mainパッケージがないものをインストールするときは go getソースコードimportを記載して、go mod tidyをする。

まとめ

GitHubからパッケージをインストールする方法は2つ。mainパッケージを持つものにはgo installを使う。→コマンドになる。 それ以外はソースコードimportを書いて go mod tidyをする。