go1.17からgo getでのパッケージ導入が非推奨になった

go1.17からgo getでのパッケージインストールが非推奨になりました。代わりにgo installを使えということなので簡単に調査しました。

go getの代わりにgo installを使う

go get prints a deprecation warning when installing commands outside the main module (without the -d flag). go install cmd@version should be used instead to install a command at a specific version, using a suffix like @latest or @v1.2.3. In Go 1.18, the -d flag will always be enabled, and go get will only be used to change dependencies in go.mod.


go getでメインモジュール外にパッケージをインストールする際に警告が出るようになりました。

-dオプションをつけて実行すれば引き続きgo getでもOKですが、1.18から-dオプションも使えなくなるようです。

そのため、代わりにgo installを使えとのこと。

go getgo installの使い分け

go getが完全に使えなくなるわけではないようです。

モジュール内で管理したいパッケージについてはこれまで通りgo get

go installはモジュール外で使いたいパッケージのインストールに使うことになるとのことです。

go getgo install

go installの使い方は下記のような感じです。

# go getの場合
go get golang.org/x/tools/gopls

# go installの場合
go install golang.org/x/tools/gopls@latest


# go getの場合
go get golang.org/x/tools/cmd/...

# go installの場合
go install golang.org/x/tools/cmd/...@latest



Your email address will not be published. Required fields are marked *


This site uses Akismet to reduce spam. Learn how your comment data is processed.