如何安装特定版本的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

到目前为止,Google搜索的相关结果很少。

我想做的是可能的吗?非常感谢!

解决方法

您需要进入go module模式才能获取特定版本的代码,因为除了下载代码外,该版本还记录在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