我在Golang项目中做了一些修改,后来运行了make test,它负责皮棉、格式化和单元测试。但是,当它运行linter.sh时,它会抛出以下错误
pkg/skaffold/kubernetes/wait.go:23: File is not `goimports`-ed with -local github.com/GoogleContainerTools/skaffold (goimports)
"github.com/GoogleContainerTools/skaffold/pkg/skaffold/kubectl"这是指向代码的链接。
发布于 2020-01-29 10:16:36
仅仅做正常的Sort imports可能不起作用。我认为您启用了goimports linting和local-prefixes,这就是错误File is not 'goimports'-ed with -local ...的原因。
通常,goimports以一种方式对导入的库进行排序,这样标准的pkg和其他库就在一个单独的组中。但是,当您启用本地前缀时,linting期望标准pkg、第三方pkg和带有指定本地前缀的pkg (在您的例子中是github.com/GoogleContainerTools/skaffold,也就是您自己的项目pkg),这3种类型在单独的组中。(参考文献:https://github.com/golangci/golangci-lint/issues/209)
import (
// stdlib
// third-party
// other packages of that project
)这些不一定要分成3组,你可以有更多的3组。只需确保上述3种类型(或2种)不在同一类型中。
Fix
运行goimports时,请确保使用-local标志运行它。我认为您也可以将IDE配置为这样做。在您的例子中,应该是这样的:
goimports -local "github.com/GoogleContainerTools/skaffold" -w .-w标志,以便将更改写回 所有文件的. (点),或者您只可以指定一个文件。
发布于 2022-03-24 14:33:08
我也犯了同样的错误。皮棉为golangci-lint。
我对导入(使用GoLand )、排序依赖项( go mod tidy )和删除空白( gofmt -w app.go )进行了排序。
除了:
golangci-lint run --fix
发布于 2020-05-31 19:31:24
在我的例子中,我不得不改变这一点:
import (
"fmt"
"github.com/gin-gonic/gin"
"net/http"
"strconv"
)对此:
import (
"fmt"
"net/http"
"strconv"
"github.com/gin-gonic/gin"
)https://stackoverflow.com/questions/59960394
复制相似问题