过了一段时间,我回到了戈朗,并试图对一个开源库进行故障排除。
当我试图安装它的依赖项时,即使我的IDE (VSCode)试图安装当前的语言服务器,我也会收到如下错误:
$ go install -v golang.org/x/tools/gopls@latest
go: golang.org/x/tools/gopls@latest: module golang.org/x/tools/gopls: reading https://gocenter.io/golang.org/x/tools/gopls/@v/list: 405 Not Allowed为了解决这个问题,我在我的机器上创建了另一个用户,当我使用该用户帐户时,依赖项安装就可以工作了。
怎么一回事?
为什么我不能再用go安装任何软件包?
发布于 2022-10-21 11:13:54
go模块系统可以使用代理协议来获取依赖项。正在使用的代理由go的GOPROXY 环境变量控制。
它过去的默认值可能包括goceter.io,它是由JFrog提供的服务,并在某一时刻被终止。
$ go env GOPROXY
gocenter.io,goproxy.io,goproxy.cn,proxy.golang.org,direct
$ cat "$(go env GOENV)"
GOPROXY=gocenter.io,goproxy.io,goproxy.cn,proxy.golang.org,direct在我的例子中,它是在go env GOENV指出的文件中设置的,并且从文件内容中删除这个域(和其他域)使一切都恢复正常。
$ vim "$(go env GOENV)"
# (edit the file using your favorite editor)
$ cat "$(go env GOENV)"
GOPROXY=proxy.golang.org,direct
$ go env GOPROXY
proxy.golang.org,direct
# now gocenter.io is no longer there
$ go install -v golang.org/x/tools/gopls@latest
go: downloading golang.org/x/tools/gopls v0.9.5
go: downloading golang.org/x/tools v0.2.0
# ...https://stackoverflow.com/questions/74152799
复制相似问题