gpt4 book ai didi

Go mod tidy 从 go.mod 中删除 linter

转载 作者:行者123 更新时间:2023-12-01 22:25:23 28 4
gpt4 key购买 nike

在我的小项目中,我有一个脚本通过运行静态代码检查来确保正确的代码质量,例如,我使用 errcheck验证我是否处理了代码中的每个错误。
dep ,对于这种依赖有一个特殊的部分,称为 required

Use this for: linters, generators, and other development tools that:

  • Are needed by your project
  • Aren't imported by your project, directly or transitively


对于 go 模块,我可以获取给定版本的 errcheck通过执行: go get github.com/kisielk/errcheck@v1.2.0
但随后,它将从 go.mod 中删除当我执行: go mod tidy .有可能避免这种情况吗?

最佳答案

在 Go 模块中,“代码”、“测试”和“工具”依赖之间目前没有区别:依赖就是依赖。

如果要录制特定版本的工具,可以添加 import该工具在源文件中的路径,通常被 build constraints 排除在外,如 // +build tools .

例如:

// +build tools

// Package tools records tool dependencies. It cannot actually be compiled.
package tools

import _ "github.com/kisielk/errcheck"

(正如 JimB 所说,请参阅 http://golang.org/wiki/Modules#how-can-i-track-tool-dependencies-for-a-module 了解更多详细信息。)

关于Go mod tidy 从 go.mod 中删除 linter,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60233481/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com