在使用goframe的过程中有个安装golint的环节,然后我根据其中的代码进行安装,下面是文中代码

mkdir -p GOPATH/src/golang.org/x/
cdGOPATH/src/golang.org/x/
git clone https://github.com/golang/lint.git
git clone https://github.com/golang/tools.git
cd $GOPATH/src/golang.org/x/lint/golint
go install

进行到go install这步时报错,设置module=off也没用,
通过go get -u github.com/golang/lint/golint 来安装,结果出了新问题

经过一番折腾,终于找到解决方法

问题在于,依赖关系图中的某些软件包仍在引用github.com/golang/lint,而不是golang.org/x/lint。由于golang / go#30833,即使较旧版本的模块具有不正确的引用,此问题也会浮出水面。也就是说,即使固定直接依赖于lint的程序包是固定的,只要其他某些程序包依赖于直接依赖程序包的旧版本,此问题仍然会触发。要解决此问题,您将必须确保模块图中没有所有不正确的引用

下面这个命令执行2次

go mod edit -replace github.com/golang/lint=golang.org/x/lint@latest

或者直接再go.mod文件中添加以下

replace github.com/golang/lint latest => golang.org/x/lint latest
replace golang.org/x/lint latest => github.com/golang/lint latest

执行这个命令后,再执行一次

go get -u github.com/golang/lint/golint