登录
首页 >  Golang >  Go问答

Go mod tidy 移除了 go.mod 中的代码检查工具

来源:stackoverflow

时间:2024-03-22 09:09:41 319浏览 收藏

Go 模块中的 `go mod tidy` 命令现在将删除 `go.mod` 文件中列出的代码检查工具。此举是因为 Go 模块目前不区分“代码”、“测试”和“工具”依赖项,所有依赖项都被视为同等重要。为了记录特定版本的工具,可以在源文件中添加该工具路径的导入,该源文件通常被构建约束排除,例如 `// +build tools`。

问题内容

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

将此用于:linter、生成器和其他开发工具,这些工具: 您的项目需要 不由您的项目直接或间接导入

对于 go 模块,我可以通过执行以下命令来获取给定版本的 errcheckgo 获取 github.com/kisielk/[email protected]

但是,当我执行以下命令时,它将从 go.mod 中删除: go mod tidy。这样的情况能避免吗?


解决方案


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

如果要记录某个工具的特定版本,可以在通常被 build constraints 排除的源文件中添加该工具路径的 import,例如 // +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 了解更多详细信息。)

以上就是本文的全部内容了,是否有顺利帮助你解决问题?若是能给你带来学习上的帮助,请大家多多支持golang学习网!更多关于Golang的相关知识,也可关注golang学习网公众号。

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>