📖GOPROXY依赖包代理配置说明

发布: 2022-02-25
热度: 39
趋势: 39
权重: 0
🎯

Go1.11版本开始支持包依赖管理工具,新增了GOPROXY环境变量,用于配置依赖包下载代理,通过代理配置可以实现翻墙下载一些所需的依赖包,可以说相当实用

代理诉求

Go1.11 版本开始支持包依赖管理,无需自行下载依赖到 GoPath 的 src 下,相当好用。

go get / go mod 命令下载依赖时,经常需要访问 github/golang.org 等网站。

如果公司的网络不具备访问这些网站时,初始化工程就会变得异常的困难。

因此,配置代理就显得非常使用。

现有代理

目前比较常见的代理网站如下,各网站都提供了详细的配置说明。

  1. goproxy:https://goproxy.io/zh/
  2. 七牛云:https://goproxy.cn
  3. 阿里云:https://mirrors.aliyun.com/goproxy/

配置说明

版本 1.13+

// 打开包管理能力
go env -w GO111MODULE=on
// 配置代理地址
go env -w GOPROXY=https://goproxy.cn,direct
// 关闭代理
go env -u GOPROXY
// 查看go环境变量
go env
// 以JSON格式输出go环境变量
go env -json

早期版本

注意需要是 1.11+

// 打开包管理能力
export GO111MODULE=on
// 配置代理地址
export GOPROXY=https://goproxy.cn
// 关闭代理
export GOPROXY=

非代理方案

一般很少这么用。

go mod 提供了 replace 方式来指定替换包的地址。

如果第三方包中引用墙外的包,就需要手动修改他们了,不如代理方式方便。

module github.com/exercise

require (
    golang.org/x/text v0.3.0
    gopkg.in/yaml.v2 v2.1.0 
)

replace (
    golang.org/x/text => github.com/golang/text v0.3.0
)

小结

需要注意 Go 1.13+ 的配置方式和之前的有所区别即可。

不再是取外部的公共变量,而是 Go 特有的环境变量。

当前文章暂无讨论,留下脚印吧!
大纲
  • 代理诉求
  • 现有代理
  • 配置说明
    • 版本 1.13+
    • 早期版本
    • 非代理方案
  • 小结
提交成功,请等待审核通过后全面展示!

发表评论

昵称
邮箱
链接
签名
评论

温馨提示:系统将通过浏览器临时记忆您曾经填写的个人信息且支持修改,评论提交后仅自己可见,内容需要经过审核后方可全面展示。

选择头像