Відповіді:
go get
встановить пакет у першому каталозі, вказаному в GOPATH
(змінна середовище, яка може містити розділений двокрапкою список каталогів). Ви можете використовувати go get -u
для оновлення існуючих пакетів.
Ви також можете використовувати go get -u all
для оновлення всіх пакунків у вашомуGOPATH
Для великих проектів може бути доцільним створити різні GOPATH для кожного проекту, щоб оновлення бібліотеки в проекті A не викликало проблем у проекті B.
Введіть, go help gopath
щоб дізнатися більше про GOPATH
змінну середовища.
go get -u all
шкодувати, що воскресити, але про всяк випадок, коли хтось ще шукав.
go get -u all
більше не працює! Запустивши цю команду в GOPATH, принаймні для Go 1.13, поверне попередження: `попередження" всі "не відповідає пакетам"
@tux відповідь чудова, просто хотів додати, що ви можете використовувати go get для оновлення певного пакету:
go get -u full_package_name
Оскільки в цьому питанні згадуються сторонні бібліотеки та не всі пакунки, то, ймовірно, ви хочете перейти до використання символів.
Випадок використання: Я просто хочу оновити всі свої пакунки, отримані від Github VCS, тоді ви просто скажете:
go get -u github.com/... // ('...' being the wildcard).
Це продовжуватиметься та лише оновить ваші пакети github у поточному режимі $GOPATH
Те саме стосується і всередині VCS, скажімо, ви хочете оновити лише всі пакети з репо-файлів ogranizaiton A, оскільки вони випустили виправлення, від яких ви залежите:
go get -u github.com/orgA/...
Вищезгадані проблеми мають такі проблеми:
Щоб цього уникнути, виконайте наступне:
go get -d
піти 1.13
(виконати з кореневого каталогу модуля)
Оновити вказані залежності:
go get -u <package-name>
Оновіть усі прямі та непрямі залежності до останніх незначних або оновлених оновлень (попередні випуски ігноруються):
go get -u ./...
# or
go get -u=patch ./...
Довідка:
https://github.com/golang/go/wiki/Modules#daily-workflow
go help get
Щоб вказати версії чи коміти:
go get -u otherpackage@1.2.3
go get -u otherpackage@git-sha
Дивіться https://github.com/golang/go/wiki/Modules#daily-workflow
Перейдіть до контуру та введіть
go get -u ./..
Він оновить усі необхідні пакети.
go get -u ./...
(3 крапки)