相关推荐recommended
GOPROXY如何设置
作者:mmseoamin日期:2023-12-13

本人github

在Go语言环境中,你可以通过设置GOPROXY环境变量来指定Go模块代理的URL。这对于加快模块下载速度、解决直接连接到proxy.golang.org时的网络问题或使用私有模块代理非常有用。以下是设置GOPROXY环境变量的几种方法:

1. 临时设置(当前终端会话)

在命令行中,你可以通过直接导出GOPROXY来临时设置该变量。这种设置只在当前终端会话中有效。例如:

export GOPROXY=https://goproxy.io,direct

这个命令会在当前终端会话中将GOPROXY设置为https://goproxy.io,如果goproxy.io无法找到模块,则会尝试直接从源(direct)获取。

2. 永久设置(所有终端会话)

要永久设置GOPROXY,你需要将其添加到你的shell配置文件中(如.bashrc, .bash_profile, 或.profile),这取决于你使用的shell。

  • 打开你的shell配置文件,例如使用nano:

    nano ~/.bashrc
    
  • 将export命令添加到文件的末尾:

    export GOPROXY=https://goproxy.io,direct
    
  • 保存并关闭文件。要使更改生效,可以重新加载配置文件(例如运行source ~/.bashrc),或者关闭并重新打开你的终端。

    3. 在Go项目中设置

    你还可以在具体的Go项目中设置GOPROXY,通过在项目的根目录下创建一个名为go.env的文件,然后在其中设置GOPROXY:

    GOPROXY=https://goproxy.io,direct
    

    当你在该项目目录中运行Go命令时,Go工具链会读取这个文件。

    注意事项

    • 选择合适的代理:https://goproxy.io 是一个流行的Go模块代理,但也有其他代理可供选择,如https://proxy.golang.org(Go官方代理)、https://goproxy.cn(中国大陆访问友好)等。
    • 设置多个代理:你可以通过逗号分隔来设置多个代理,例如https://goproxy.io,https://proxy.golang.org,direct。Go工具链会按顺序尝试每个代理,如果一个代理失败,它将尝试下一个。
    • 使用direct:将direct作为最后一个选项可以确保,如果所有代理都失败,Go工具链将尝试直接从源获取模块。
    • 你可以通过go env -w GOPROXY=https://goproxy.io,direct 命令来永久地为所有项目设置GOPROXY。这个命令会将设置写入Go的全局配置中。