иди получить неудачу для hashicorp/levant
Я унаследовал сценарий сборки, который создает образ докера и использует hashicorp/levant
библиотека для развертывания. Примерно год мы бежимgo get github.com/jrasell/levant
схватить levant
библиотека. За последние несколько дней URL-адрес репо был объединен в рамках организации Hashicorp, и мы изменили наш скрипт, чтобы он работал с go get github.com/hashicorp/levant
. Но в любом случае мы получаем эту ошибку множественного назначения. Что это означает, что "не идет" просто вытаскивает репозиторий git?
../go/src/github.com/hashicorp/levant/template/render.go:28:11: cannot assign
*"github.com/hashicorp/nomad/vendor/github.com/hashicorp/nomad/api".Job to job
(type *"github.com/hashicorp/nomad/api".Job) in multiple assignment
2 ответа
Во-первых, go get
работает с пакетами, а не с репозиториями.
Кроме того, чтобы тянуть их go get
также компилирует и устанавливает их, и тут выскакивает ваша ошибка.
Больше информации здесь:
https://nanxiao.gitbooks.io/golang-101-hacks/content/posts/go-get-command.html
Я рекомендую вам использовать модули Go.
hashicorp/levant
имеет go.{mod,sum}
файлы и, следовательно, вы должны забыть об использовании go get way.
Лучше сделать клон и следовать модулю go, т.е.
git clone git@github.com:hashicorp/levant.git
go test ./...
go build ./...
Шаги с не только клонированием вашего репо, но также принесут ваши зависимые пакеты, необходимые для сборки / тестирования пакета.
Примечание: у вас должен быть Go v1.11+.