【Golang】go get とgo installの違い
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
をする。