Linux 系统
如果是私有仓库(GitLab),请先确保你能通过
git clone
命令克隆这个项目shell 输入命令
nano ~/.gitconfig
,确认 git 的用户名,密码,代理以及强制替换的 GitLab 地址:(Ctrl+x
离开、Y
写入、Enter
确认文件)1
2
3
4
5
6
7
8
9
10
11[user]
name = your name
email = your email
[core]
autocrlf = input
[http "https://github.com"]
proxy = socks5://127.0.0.1:1089
[url "git@gitlab.com:"]
insteadOf = https://gitlab.com/确保代理能成功使用
Goland 里输入
Ctrl + Alt + S
进入设置页面,选择Go -> Go Modules
或者鼠标点击File | Settings | Go | Go Modules
。勾选Enable Go modules integration
,在 Environment 中输入GOPRIVATE=gitlab.com/yourCompanyName
Goland 中选择
File | Settings | Appearance & Behavior | System Settings | HTTP Proxy
,选择Manual proxy configuration
,根据你的代理填入相应规则,例如:1
2
3Host name: 127.0.0.1
Port number: 1089
No proxy for: *.your-company.com,192.168.*
Windows 系统
如果是私有仓库(GitLab),请先确保你能通过
git clone
命令克隆这个项目记事本打开
C:\Users\yourAccountName\.gitconfig
,确认 git 的用户名,密码,代理以及强制替换的 GitLab 地址:(Ctrl+x
离开、Y
写入、Enter
确认文件)1
2
3
4
5
6
7
8
9
10
11[user]
name = your name
email = your email
[core]
autocrlf = input
[http "https://github.com"]
proxy = socks5://127.0.0.1:1089
[url "git@gitlab.com:"]
insteadOf = https://gitlab.com/确保代理能成功使用
Goland 里输入
Ctrl + Alt + S
进入设置页面,选择Go -> Go Modules
或者鼠标点击File | Settings | Go | Go Modules
。勾选Enable Go modules integration
,在 Environment 中输入GOPRIVATE=gitlab.com/yourCompanyName
Goland 中选择
File | Settings | Appearance & Behavior | System Settings | HTTP Proxy
,选择Manual proxy configuration
,根据你的代理填入相应规则,例如:1
2
3Host name: 127.0.0.1
Port number: 1089
No proxy for: *.your-company.com,192.168.*
P.S.
- 无法使用
git clone
的请自行添加公钥至 GitLab - 本文里
yourCompanyName
等字眼的地方自行替换 - 特设 GitHub 网址走代理的原因是,项目中可能引入了 GitHub 的包,走代理避免
import timeout
- 特设 GitLab 网址为
git@gitlab.com
是为了引入 GitLab 私有项目的包 - 特设
GOPRIVATE=gitlab.com/yourCompanyName
是因为 go 命令会从公共镜像 goproxy.io 上下载依赖包,并且会对下载的软件包和代码库进行安全校验,而环境变量 GOPRIVATE 用来控制 go 命令把哪些仓库看做是私有的仓库,这样的话,就可以跳过 proxy server 和校验检查,这个变量的值支持用逗号分隔,可以填写多个值。注:GONOPROXY=none
会覆盖以往的设置。
参考资料
[1] GOPRIVATE 环境变量 https://goproxy.io/zh/docs/GOPRIVATE-env.html