V1.11 Go ile başlayarak modüller için destek eklendi. Komutlar
go mod init <package name>
go build
üretecek go.mod
ve go.sum
paket bağımlılıkları için bulunan tüm sürümlerini içerir dosyaları.
Bir modülün herhangi bir sürümü yoksa, o modülün en son kaydı kullanılır. Bir modülün sürümleri varsa, en sonuncusu bağımlılık olarak seçilir.
Ancak bazen, henüz yayınlanmış bir sürümde olmayan, ancak bu sürümden sonra yapılan bir taahhütte bulunan işlevlere ihtiyacım olabilir. Nasıl belirlerim go.mod
bir modülün bir sürüme değil işaret etmek, ancak Belli bir bölüme modülün depoda taahhüt?
Görünüşe göre bunu go.mod ile elle yapabilirim
module /my/module
require (
...
github.com/someone/some_module v0.0.0-20181121201909-af044c0995fe
...
)
nerede v0.0.0
son yayınlanan sürüm etiketine karşılık gelmez, 20181121201909
bir commit zaman damgası af044c0995fe
olur ve commit karması olur? Bu tür bilgiler elle bulunmalı ve girilmeli mi yoksa daha iyi bir yol mu var?
/commits
, ancak altında değil/pulls
. Daha fazla bilgiyi burada bulabilirsiniz: golang / go # 31191 bu tür taahhütleri açıkça filtreler.