Począwszy od wersji 1.11 Go dodano obsługę modułów. Polecenia
go mod init <package name>
go build
wygeneruje go.mod
i go.sum
pliki zawierające wszystkie znalezione wersje dla zależności pakietów.
Jeśli moduł nie ma żadnych wersji, używane jest najnowsze zatwierdzenie tego modułu. Jeśli moduł ma wersje, najnowsza jest wybierana jako zależność.
Jednak czasami potrzebowałbym funkcjonalności, której nie ma jeszcze w opublikowanym wydaniu, ale z zatwierdzenia dokonanego po tym wydaniu. Jak ustawić go.mod
wskazanie nie do wydania modułu, ale do konkretnego zatwierdzenia w repozytorium modułu?
Wygląda na to, że mogę to zrobić ręcznie w go.mod z
module /my/module
require (
...
github.com/someone/some_module v0.0.0-20181121201909-af044c0995fe
...
)
gdzie v0.0.0
nie odpowiada ostatnio opublikowanemu znacznikowi wydania, 20181121201909
czy byłby to znacznik czasu zatwierdzenia i af044c0995fe
czy byłby skrót zatwierdzenia? Czy takie informacje należy wyszukiwać i wprowadzać ręcznie, czy jest lepszy sposób?
/commits
, ale nie poniżej/pulls
. Zobacz więcej informacji tutaj: golang / go # 31191 jawnie odfiltrowuje tego rodzaju zatwierdzenia.