v1.11 Go以降、モジュールのサポートが追加されました。コマンド
go mod init <package name>
go build
パッケージの依存関係について見つかったすべてのバージョンを含むファイルを生成go.mod
しgo.sum
ます。
モジュールにリリースがない場合は、そのモジュールの最新のコミットが使用されます。モジュールにリリースがある場合は、最新のものが依存関係として選択されます。
ただし、公開されたリリースにはまだ含まれていないが、そのリリース以降に行われたコミットからの機能が必要になる場合があります。go.mod
モジュールのリリースではなく、モジュールのリポジトリ内の特定のコミットを指すように設定するにはどうすればよいですか?
go.modで手作業でできるようです
module /my/module
require (
...
github.com/someone/some_module v0.0.0-20181121201909-af044c0995fe
...
)
v0.0.0
最後に公開されたリリースタグに対応していない場所は20181121201909
、コミットタイムスタンプでありaf044c0995fe
、コミットハッシュになりますか?そのような情報を手で見つけて入力する必要がありますか、それとももっと良い方法がありますか?
/commits
はなく、の下のリポジトリでコミットハッシュを探し/pulls
ます。詳細については、こちらをご覧ください:golang / go#31191は、これらの種類のコミットを明示的に除外します。