gometalinter проверяет файлы / usr / local / go - PullRequest
0 голосов
/ 04 октября 2018

Я использую gometalinter для одного файла: gometalinter ./src/main.go

, но он печатает ошибки для исходных файлов golang:

90cc5ff9b2ea:/repo# gometalinter ./src/main.go 
../usr/local/go/src/net/lookup_unix.go:80:24:warning: unused struct field undeclared name: cgoLookupHost (structcheck)
../usr/local/go/src/net/lookup_unix.go:323:23:warning: undeclared name: cgoLookupPTR (interfacer)
../usr/local/go/src/net/lookup_unix.go:323:23:warning: error return value not checked (undeclared name: cgoLookupPTR) (errcheck)
../usr/local/go/src/net/lookup_unix.go:95:24:warning: error return value not checked (undeclared name: cgoLookupIP) (errcheck)
../usr/local/go/src/net/lookup_unix.go:80:24:warning: error return value not checked (undeclared name: cgoLookupHost) (errcheck)
../usr/local/go/src/net/lookup_unix.go:123:24:warning: unused struct field undeclared name: cgoLookupCNAME (structcheck)
../usr/local/go/src/net/lookup_unix.go:323:23:warning: unused variable or constant undeclared name: cgoLookupPTR (varcheck)
../usr/local/go/src/net/lookup_unix.go:80:24:warning: unused variable or constant undeclared name: cgoLookupHost (varcheck)
../usr/local/go/src/net/lookup_unix.go:95:24:warning: undeclared name: cgoLookupIP (interfacer)
../usr/local/go/src/net/lookup_unix.go:80:24:warning: undeclared name: cgoLookupHost (interfacer)
../usr/local/go/src/net/lookup_unix.go:95:24:warning: unused variable or constant undeclared name: cgoLookupIP (varcheck)
../usr/local/go/src/net/lookup_unix.go:107:23:warning: error return value not checked (undeclared name: cgoLookupPort) (errcheck)
../usr/local/go/src/net/lookup_unix.go:323:23:warning: unused struct field undeclared name: cgoLookupPTR (structcheck)
../usr/local/go/src/net/lookup_unix.go:107:23:warning: unused struct field undeclared name: cgoLookupPort (structcheck)
../usr/local/go/src/net/lookup_unix.go:123:24:warning: unused variable or constant undeclared name: cgoLookupCNAME (varcheck)
../usr/local/go/src/net/lookup_unix.go:123:24:warning: undeclared name: cgoLookupCNAME (interfacer)
../usr/local/go/src/net/lookup_unix.go:123:24:warning: error return value not checked (undeclared name: cgoLookupCNAME) (errcheck)
../usr/local/go/src/net/lookup_unix.go:95:24:warning: unused struct field undeclared name: cgoLookupIP (structcheck)
../usr/local/go/src/net/lookup_unix.go:107:23:warning: unused variable or constant undeclared name: cgoLookupPort (varcheck)
../usr/local/go/src/net/lookup_unix.go:107:23:warning: undeclared name: cgoLookupPort (interfacer)

Как запустить gometalinter возвращает один файл или только для ./src каталога?

Моя конфигурация:

{
  "Deadline": "5m",
  "EnableGC": true,
  "Enable": [
    "deadcode",
    "gocyclo",
    "gofmt",
    "gotype",
    "goimports",
    "golint",
    "gosimple",
    "ineffassign",
    "interfacer",
    "misspell",
    "unconvert",
    "unused",
    "vet",
    "varcheck",
    "maligned",
    "errcheck",
    "megacheck",
    "goconst",
    "structcheck"
  ],
  "Cyclo": 10,
  "Aggregate": true
}

Эта команда запускается в Docker-контейнере на основе golang:alpine как root пользователь.

1 Ответ

0 голосов
/ 04 октября 2018

Я нашел похожую проблему на Github по этому поводу: https://github.com/alecthomas/gometalinter/issues/149

Решение из комментария https://github.com/alecthomas/gometalinter/issues/149#issuecomment-371928626 работает для меня:

env CGO_ENABLED=0 gometalinter ./src/main.go
...