And*_*ani 5 shell go linter golangci-lint
我使用的是 RHEL 8.6,我的 Go 版本如下:
$ go version
go version go1.18.3 linux/amd64
Run Code Online (Sandbox Code Playgroud)
我正在尝试在本地安装,但文档golangci-lint
中描述的方法均不起作用。
我尝试过的:
第一的:
$ curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh | sh -s -- -b $(go env GOPATH)/bin v1.46.2
golangci/golangci-lint info checking GitHub for tag 'v1.46.2'
golangci/golangci-lint info found version: 1.46.2 for v1.46.2/linux/amd64
golangci/golangci-lint info installed /home/acabista/go/bin/golangci-lint
$ golangci-lint --version
bash: golangci-lint: command not found...
Run Code Online (Sandbox Code Playgroud)
第二:
$ go install github.com/golangci/golangci-lint/cmd/golangci-lint@v1.46.2
$ golangci-lint --version
bash: golangci-lint: command not found...
Run Code Online (Sandbox Code Playgroud)
我是不是少了一步?我怎样才能使这个本地安装工作?
如果 golang-ci 已正确安装,则问题很可能是安装目录不在您的PATH
环境变量中。这样调用 golang-ci 应该可以工作:
${GOPATH}/bin/golangci-lint --version
Run Code Online (Sandbox Code Playgroud)
或者
/home/acabista/go/bin/golangci-lint --version
Run Code Online (Sandbox Code Playgroud)
要准确检查发生了什么,您可以检查环境变量的内容GOPATH
。go install
它的内容定义了运行类似命令时二进制文件的安装位置。
echo $GOPATH
Run Code Online (Sandbox Code Playgroud)
您还需要检查变量的内容是什么PATH
,这个变量定义了 shell 在哪个目录中查找要执行的二进制文件:
echo $PATH
Run Code Online (Sandbox Code Playgroud)