goget命令一直下载不了源站的包解决方案

go get [dai li] 工具

注:一切的前提是你有个代理,通常为socks5协议的代理服务器,有些包仅仅支持http或https,需要转换一下。

常用的四种工具: ShadowSockets、polipo、proxychains-ng、cow

1. 最简单的方式:不使用任何工具

http_proxy=x.x.x.x:port https_proxy=x.x.x.x:port go get

注:对于自己或公司的私有仓库,使用 [dai li] 就取不到了,这时候要区分,私有仓库就不要使用 [dai li] 了。(特殊情况:私有仓库需要使用 [dai li] 获取三方包,此时可以使用dep依赖包管理工具或者手动git clone维护)

2. ShadowSockets

和proxychains-ng一样出名,但配置要比一下三种麻烦,暂不介绍。

3. proxychains-ng

安装

# mac下 brew install proxychains-ng

配置 [dai li] :/usr/local/etc/proxychains.conf添加

# 服务地址和端口自己设置 socks5 x.x.x.x 1080

使用测试

# proxychains4 程序 参数 proxychains4 curl

可能出现的问题有些程序,比如一些三方包,可能不支持socks5协议访问,此时需要做代理转换,将socks5请求转为http或https的请求,常用的方式就是polipo工具,既然如此,还是直接使用polipo吧。推荐使用下面两种方式之一。

4. polipo

通过设置大部分程序都识别的的环境变量:http_proxy和https_proxy,将请求通过 [dai li] 服务器以http或https的方式发出去。

安装

# mac下 brew install polipo # linux sudo apt-get install polipo

配置:

polipo软件配置: mac下:/usr/local/opt/polipo/homebrew.mxcl.polipo.plist

/usr/local/opt/polipo/bin/polipo socksParentProxy=x.x.x.x:1080

linux下:/etc/polipo/config

socksParentProxy = "x.x.x.x:1080" socksProxyType = socks5

环境变量配置

export http_proxy=":8123/" export https_proxy=":8123/"

启动

# 后台方式启动,linux下 service polipo restartpolipo & # 监听在8123端口

测试

curl

5. cow

内部貌似使用了shadowsocks机制。[中文文档]:

安装

# linux下 curl -L git.io/cow | bash # mac下 brew install cow

cow软件配置:$HOME/.cow/rc

# 默认已添加 listen = :7777 # 填入自己拥有的socks5代理服务器地址和端口 proxy = socks5://x.x.x.x:1080

mac环境变量配置:~/.bash_profile

export http_proxy=:7777 export https_proxy=:7777

启动

# 后台方式启动 cow & # 监听在7777端口

测试

curl

欢迎转发评论。

欢迎关注:Python学习社