Запусти линт на Голан Репо в Трэвисе - PullRequest
0 голосов
/ 18 ноября 2018

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

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 ]

0 голосов
/ 18 ноября 2018

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

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

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

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

0 голосов
/ 18 ноября 2018

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

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

...