Golang Go语言中GOPROXY不生效

发布于 1周前 作者 sinazl 来自 Go语言

Golang Go语言中GOPROXY不生效

使用的 go 版本是 1.13.1

vagrant[@vagrant](/user/vagrant):~$ GOPROXY=https://mirrors.aliyun.com/goproxy/ go get -v -u golang.org/x/tools/cmd/gopls
package golang.org/x/tools/cmd/gopls: unrecognized import path "golang.org/x/tools/cmd/gopls" ( https fetch: Get https://golang.org/x/tools/cmd/gopls?go-get=1: dial tcp 216.239.37.1:443: i/o timeout)

哪位大佬遇到过这种情况呢?


更多关于Golang Go语言中GOPROXY不生效的实战系列教程也可以访问 https://www.itying.com/category-94-b0.html

10 回复

未设置 GO111MODULE=on ?

更多关于Golang Go语言中GOPROXY不生效的实战系列教程也可以访问 https://www.itying.com/category-94-b0.html


未设置 go111module 和 gopath 都会有这种问题(

简单点:( GoLand )=> New Project -> Go Modules -> Proxy: https://goproxy.cn

没错,多谢了。我以为 go1.13 是不需要设置 GO111MODULE=on 的。。。

1.13 只要目录下有 go.mod 文件就自动开启 mod 模式

我就是 go.mod 工程,实测 GOPROXY 不生效,必须手工指定 GO111MODULE=on

GO111MODULE=auto 的情况下,监测到 go.mod 会自动用 mod

其实这个就是用了 mod 的,1.13 不用设置就行,我 go get 安装的依赖也都是 go modules 依赖,但是 GOPROXY 就是不生效。需要手工设置 GO111MODULE 才可以生效

在Go语言中,如果GOPROXY环境变量设置后未生效,可能有几个原因和相应的解决步骤。

  1. 环境变量未正确设置: 确保GOPROXY环境变量已经正确设置在你的shell配置文件中(如.bashrc.zshrc等),并且你重新加载了配置文件(可以通过source ~/.bashrc等方式)。

  2. IDE或编辑器未使用shell环境: 如果你在使用IDE(如VSCode、Goland等)或编辑器,确保它们配置了使用你的shell环境。某些IDE可能会使用自己的环境设置,这可能导致环境变量未生效。

  3. 多个Go版本冲突: 如果你的系统上安装了多个Go版本,确保你正在使用的go命令指向正确的Go版本,并且该版本的Go识别了GOPROXY环境变量。

  4. 检查GOPROXY值: 确保GOPROXY的值是有效的代理地址,并且该代理服务器是可访问的。例如,常见的GOPROXY设置是GOPROXY=https://goproxy.cn,direct

  5. 清理缓存: 有时Go模块缓存可能会导致问题,可以尝试运行go clean -modcache来清理模块缓存。

  6. 重新启动终端或计算机: 有时环境变量的更改需要重新启动终端或计算机才能完全生效。

如果以上步骤都无法解决问题,建议检查Go的官方文档或社区论坛,看看是否有其他开发者遇到并解决了类似的问题。

回到顶部