【golang包管理】 GPROXY使用

&痛点:

使用 go get 命令 自动下载相应的包时,由于国内网络原因会出现各种 类似于 golang.org/x/... 的问题

&解决方案

使用 golang 的 go module 包管理工具(golang版本 >= 1.11),设置 goproxy 即可

&步骤

虽然下面的内容主要是讲解如何设置 GOPROXY,但是我们也推荐你在使用 Go 模块时将 GO111MODULE 设置为 on 而不是 auto

Go 1.13 及以上(推荐)

打开你的终端并执行:

$ go env -w GOPROXY=https://goproxy.cn,direct

完成。

macOS 或 Linux

打开你的终端并执行:

$ export GOPROXY=https://goproxy.cn

或者

$ echo "export GOPROXY=https://goproxy.cn" >> ~/.profile && source ~/.profile

完成。

Windows

打开你的 PowerShell 并执行:

C:\> $env:GOPROXY = "https://goproxy.cn"
1. 打开“开始”并搜索“env”
2. 选择“编辑系统环境变量”
3. 点击“环境变量…”按钮
4. 在“<你的用户名> 的用户变量”章节下(上半部分)
5. 点击“新建…”按钮
6. 选择“变量名”输入框并输入“GOPROXY”
7. 选择“变量值”输入框并输入“https://goproxy.cn”
8. 点击“确定”按钮

完成。

PS:

  1. 使用Goland时创建module项目时要设置Proxy
    创建项目时要设置Proxy

    一劳永逸更改


    image.png
  2. 如果你使用的 Go 版本>=1.13, 你可以通过设置 GOPRIVATE 环境变量来控制哪些私有仓库和依赖(公司内部仓库)不通过 proxy 来拉取,直接走本地,设置如下:

# go 版本 >= 1.13
go env -w GOPROXY=https://goproxy.io,direct
# 设置不走 proxy 的私有仓库,多个用逗号相隔
go env -w GOPRIVATE=*.corp.example.com

参考资料:

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 什么是 module?module 解决了什么问题? module 代表一个版本管理单元,它包括一个或者多个 pa...
    安佳玮阅读 1,772评论 0 5
  • 最新Go版本1.13在Go v1.12发布六个月后推出,它的大部分变化在于工具链、运行时和库的实现,该版本保存与G...
    云时代的运维开发阅读 1,775评论 0 1
  • 备注:本猿翻译水平有限,请各位看客见谅 翻译内容: go1.11 版本中 go help modules文档内容 ...
    星云数联阅读 2,582评论 0 1
  • 和往常一样我又在想你的过程中失眠了,好难受。我知道你有对象,所以对以前的冒昧行为说声对不起。我今天想了很久才下的决...
    倾城大王阅读 288评论 0 1
  • 7月6日1.早课感悟:数往者顺,知来者逆。原生的家庭带给我们的影响是很大的,我们改变了原生家庭的老人,但我们可以通...
    爱如紫桐阅读 242评论 0 0