go getzainstaluje pakiet w pierwszym katalogu wymienionym w GOPATH(zmienna środowiskowa, która może zawierać listę katalogów oddzieloną dwukropkami). Możesz użyć go get -udo aktualizacji istniejących pakietów.
Możesz także użyć go get -u alldo aktualizacji wszystkich pakietów w swoimGOPATH
W przypadku większych projektów rozsądne może być utworzenie różnych GOPATH dla każdego projektu, aby aktualizacja biblioteki w projekcie A nie powodowała problemów w projekcie B.
Wpisz, go help gopathaby dowiedzieć się więcej o GOPATHzmiennej środowiskowej.
czy można zaktualizować wszystkie pakiety do najnowszej wersji, coś w rodzaju aktualizacji pakietu?
chourobin
73
powinienem tylko go get -u all przepraszać za wskrzeszenie, ale na wypadek, gdyby ktokolwiek szukał.
Dan Anderson
go get -u allnie działa! Uruchomienie tej komendy w GOPATH, przynajmniej dla Go 1.13, zwróci ostrzeżenie: „ostrzeżenie” wszystkie „nie pasują do żadnych pakietów”
Contrapak
Działa z Go 1.12.9
fviktor
61
Odpowiedź @tux jest świetna, chciałem tylko dodać, że możesz użyć go get, aby zaktualizować określony pakiet:
Ponieważ pytanie dotyczyło bibliotek innych firm, a nie wszystkich pakietów, prawdopodobnie powinieneś wrócić do używania symboli wieloznacznych.
Przypadek użycia: chcę po prostu zaktualizować wszystkie moje pakiety, które są uzyskane z Github VCS, wtedy po prostu powiedziałbyś:
go get-u github.com/...// ('...' being the wildcard).
To posunąłoby się do przodu i aktualizowałoby tylko twoje pakiety github w bieżącym $GOPATH
To samo dotyczy również VCS, powiedzmy, że chcesz uaktualnić tylko wszystkie pakiety z repozytoriów ograniczizaiton A, ponieważ po wydaniu poprawki zależy od:
go get -u all
przepraszać za wskrzeszenie, ale na wypadek, gdyby ktokolwiek szukał.go get -u all
nie działa! Uruchomienie tej komendy w GOPATH, przynajmniej dla Go 1.13, zwróci ostrzeżenie: „ostrzeżenie” wszystkie „nie pasują do żadnych pakietów”Odpowiedź @tux jest świetna, chciałem tylko dodać, że możesz użyć go get, aby zaktualizować określony pakiet:
źródło
Ponieważ pytanie dotyczyło bibliotek innych firm, a nie wszystkich pakietów, prawdopodobnie powinieneś wrócić do używania symboli wieloznacznych.
Przypadek użycia: chcę po prostu zaktualizować wszystkie moje pakiety, które są uzyskane z Github VCS, wtedy po prostu powiedziałbyś:
To posunąłoby się do przodu i aktualizowałoby tylko twoje pakiety github w bieżącym
$GOPATH
To samo dotyczy również VCS, powiedzmy, że chcesz uaktualnić tylko wszystkie pakiety z repozytoriów ograniczizaiton A, ponieważ po wydaniu poprawki zależy od:
źródło
Powyższe odpowiedzi mają następujące problemy:
Aby tego uniknąć, wykonaj następujące czynności:
go get -d
źródło
przejść 1.13
(exec z głównego katalogu modułu)
Zaktualizuj określone zależności:
Zaktualizuj wszystkie bezpośrednie i pośrednie zależności do najnowszych drobnych aktualizacji lub aktualizacji (wersje wstępne są ignorowane):
Odniesienie:
https://github.com/golang/go/wiki/Modules#daily-workflow
go help get
źródło
Aby określić wersje lub zatwierdza:
Zobacz https://github.com/golang/go/wiki/Modules#daily-workflow
źródło
Przejdź do ścieżki i wpisz
Zaktualizuje wszystkie wymagane pakiety.
źródło
go get -u ./...
(3 kropki)