go - 如何安装特定版本的 golint 以供全局使用?

标签 go version-control package-managers go-modules golint

我正在尝试创建一个 docker 镜像以用于构建管道,该管道预装了各种工具来构建和测试 go 项目。我们需要的一个工具是golint但我正在努力了解如何安装它的特定版本。我想锁定版本的原因是为了避免以后发生意外/不需要/意​​外的损坏。
首先,寻找 here这些版本并不完全采用易于输入的格式。
另外,当我尝试使用以下命令时

go get -u golang.org/x/lint/golint@v0.0.0-20181217174547-8f45f776aaf1
我收到一个错误
go: cannot use path@version syntax in GOPATH mode
到目前为止,谷歌搜索产生的相关结果很少......
我正在尝试做的事情可能吗?非常感谢!

最佳答案

您需要在 go module mode 获取特定版本的代码,因为除了下载代码之外,版本还记录在 go 模块文件中。
最简单的方法是创建一个空目录,运行 go mod init ,这将创建一个 go.mod文件。
然后,您可以运行 go get golang.org/x/lint/golint@v0.0.0-20181217174547-8f45f776aaf1 , 这将添加 golint在那个版本到你的 go.mod 文件。然后您可以运行 go install golang.org/x/lint/golint从该目录中,它将安装 golint在您的$GOBIN 中指定的版本目录(默认为 $GOPATH/bin )。

关于go - 如何安装特定版本的 golint 以供全局使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63941540/

相关文章:

visual-studio-2008 - Team Foundation Server + Visual Studio 2008 Pro。一个有值(value)的组合?

bower - 包管理器 : Bower vs jspm

reflection - 在 Go 中使用反射创建指针 slice

regex - 去测试正则表达式类型或语法

go - 来自 json 的带有 golang 的嵌套结构

git - 如何让 travis-ci 使用本地 git 分支而不是特定的提交?

version-control - ClearCase 的优点/缺点

configuration - 为什么 dnf config-manager --save 不起作用?

Python setuptools 不给我执行脚本的权限

amazon-web-services - 在 AWS 上测试 Lambda 函数时遇到问题