我在 Golang 项目中进行了一些更改,后来又运行了make test,该代码负责整理,格式化和单元测试。但是,当它运行 linter.sh 时,它会引发以下错误

    1. pkg/skaffold/kubernetes/wait.go:23: File is not `goimports`-ed with -local github.com/GoogleContainerTools/skaffold (goimports)
    2. "github.com/GoogleContainerTools/skaffold/pkg/skaffold/kubectl"

    这是Code的链接。

    (adsbygoogle = window.adsbygoogle || []).push({});

    最佳答案

    仅执行常规的Sort imports可能无法正常工作。我认为您已启用goimportslocal-prefixes linting,这就是为什么出现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)

    1. import (
    2. // stdlib
    3. // third-party
    4. // other packages of that project
    5. )

    These doesn’t have to be in 3 groups, you can have more that 3 groups. Just make sure that above 3 types (or 2) are not in the same one.

    修复
    运行goimports时,请确保使用-local标志运行它。我认为您也可以配置 IDE。在您的情况下,它应如下所示:```null
    goimports -local “github.com/GoogleContainerTools/skaffold” -w .

    1. > **\-w** flag so that it writes the changes back
    2. >
    3. > **.** _(dot)_ for all the files or you can specify just one file
    4. (adsbygoogle = window.adsbygoogle || \[\]).push({});
    5. [https://www.coder.work/article/7185002](https://www.coder.work/article/7185002)