Получение ошибки: "флаг сборки -mod=vendor действителен только при использовании модулей" при сборке проекта Go

Согласно этому документу мне нужно добавить -mod=vendor на мою команду сборки, чтобы использовать мой местный vendor папка:

По умолчанию команды go, такие как go build, игнорируют каталог vendor в режиме модуля. Флаг -mod = vendor (например, go build -mod = vendor) указывает командам go использовать каталог vendor верхнего уровня основного модуля для удовлетворения зависимостей.

Когда я запускаю эту команду:

go build -mod=vendor -a -ldflags "-s -w -X github.com/my-api/pkg/config.Version=169.3988801" -o bin/my-api

Я получаю эту ошибку:

build flag -mod=vendor only valid when using modules

Локально команда работает как положено, ошибка возникает только на сервере сборки.

1 ответ

Решение

Я думаю, что ключевая часть помощи, которую вы оказываете, when in module mode, Это произойдет, только если вы работаете с кодом вне GOPATH или если вы установили GO111MODULE=on переменная среды, поэтому я думаю, что у вас есть этот набор в вашей локальной среде, но не на сервере сборки.

Более подробная информация о включении поддержки модуля находится здесь:

https://golang.org/cmd/go/

Другие вопросы по тегам