Запусти линт на Голан Репо в Трэвисе

Я запускаю локально на моем проекте следующую команду

gometalinter --config=gometalinter.json ./...

в начале я получил некоторые ошибки, и я их все исправил!

Теперь я запускаю ту же команду в Exaclty в Travis сценарий, и я получил ошибки поставщика, как

vendor/github.com/spf13/viper/flags.go:3:8:warning: error return value not checked (could not import github.com/spf13/pflag (go/build: importGo github.com/spf13/pflag: exit status 1) (errcheck)
vendor/github.com/spf13/viper/viper.go:42:7:warning: error return value not checked (could not import github.com/pelletier/go-toml (go/build: importGo github.com/pelletier/go-toml: exit status 1) (errcheck)

Это gometalinter.json для конфига

{
  "vendor": true,
  "Deadline": "2m",
  "Sort": [
    "linter",
    "severity"
  ],
  "DisableAll": true,
  "Enable": [
    "gotypex",
    "vetshadow",
    "errcheck",
    "gocyclo",
    "vet",
    "golint",
    "vetshadow",
    "ineffassign",


  ],
  "Cyclo": 10,
  "LineLength": 120
}

Я не понимаю, почему локально я не получаю эту ошибку (я являюсь репо вендора) и почему он запрашивает ошибку вендора? Что может быть причиной?

2 ответа

Пытаться --vendor помечать и проверять версии gometalinter и все используемые линтеры.

Выписка из гометалинтера документации:

Как заставить gometalinter работать с вендорами Go 1.5?

У gometalinter есть флаг --vendor, который просто устанавливает GO15VENDOREXPERIMENT=1, однако базовые инструменты должны его поддерживать. Убедитесь, что все линтеры обновлены и собраны с помощью Go 1.5 (gometalinter --install --force), затем запустите gometalinter --vendor. Это должно быть так.

gometalinter запускает двоичные файлы на вашем пути, чтобы выполнить проверку. У меня были проблемы, когда у моего CI был бы один набор двоичных версий, в то время как у моей локальной среды разработки были бы разные версии.

Попробуйте обновить все необходимые двоичные файлы на вашем локальном компьютере.

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