go - 在 travis 的 golang 仓库上运行 lint

标签 go travis-ci travis-ci-cli golint

我在我的项目上本地运行以下命令

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

一开始我遇到了一些错误,但我已经全部修复了!

现在我在 Travis 脚本中运行相同的命令 exaclty 我得到了像

这样的 vendor 错误
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
}

我不明白为什么在本地我没有收到此错误(我有 vendor repo 协议(protocol))以及为什么它要求 vendor 错误?可能是什么原因 ?

最佳答案

gometalinter 在您的路径中运行二进制文件来进行检查。我遇到过问题,我的 CI 会有一组二进制文件版本,而我的本地开发环境会有不同的版本。

尝试在您的本地计算机上更新所有必需的二进制文件。

关于go - 在 travis 的 golang 仓库上运行 lint,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53363502/

相关文章:

go - 如何相对于当前项目文件夹设置http.Dir(..)的目录路径

django - AWS : CodeDeploy for a Docker Compose project?

java - Travis 所有构建均失败 "bad interpreter: No such file or directory"

github - Raspberry Pi 上的 TravisCI

go - 覆盖接口(interface)的函数回调参数

mysql - 在 mysql 和 golang 中构建动态查询

json - 在 Golang 中打印解码后的 JSON

shell - 如何在 travis-ci 上解析控制台并找到出现的单词数

docker - 如何在Matrix配置中将travis与多个OS + docker一起使用