如果要让go get顺利进行,必须注意2个问题:
     1、墙;2、墙;

解决办法是安装和配置shadowsocks和polipo。shadowsocks是socks5协议,polipo是将socks5协议转为http协议的。

安装和配置见 https://www.cnblogs.com/ibgo/p/8526765.html

shadowsocks安装成功后,在终端中用sslocal运行起来,然后在另一个终端里运行 go get。比如:

go get -v golang.org/x/tools/cmd/godoc

不出意外的话应该会报错,因为碰壁了。 若在终端中加上代理来运行:

$ export http_proxy=socks5://127.0.0.1:1080 https_proxy=socks5://127.0.0.1:1080
$ go get -u -v golang.org/x/tools/cmd/godoc

还是会报错:

fatal: unable to access 'https://go.googlesource.com/tools/': Could not resolve host: go.googlesource.com

因为 git 碰壁了,go get 的时候要 git clone,还要给 git 设置代理。

 $ git config --global http.proxy http://127.0.0.1:8123
 $ git config --global https.proxy http://127.0.0.1:8123

注意这里的8123端口就是polipo的。
是不是这样就可以了呢?安装包试试:

$ go get -u -v golang.org/x/tools/cmd/godoc 

如果你妹报错如下:

fatal: unable to access 'https://go.googlesource.com/tools/': Proxy CONNECT aborted

那就是代理问题,可能是没有把socks5转为http协议。

否则的话那应该是成功了!

结论:
1、在.bashrc里设置全局代理(用完了可以注释掉);

#export http_proxy=http://localhost:8123
#export https_proxy=$http_proxy

2、设置git全局代理(会在home下生成一个.gitconfig文件,不用代理的时候记得删除!);
.gitconfig 文件内容是这样的:

[http]
    proxy = http://127.0.0.1:8123
[https]
    proxy = http://127.0.0.1:8123

Windows系统(git + ss):

设置代理 http/https协议(clone https://前缀的repo会走ss)
git config --global http.proxy 'socks5://127.0.0.1:1080'
git config --global https.proxy 'socks5://127.0.0.1:1080'

删除
git config --global --unset http.proxy
git config --global --unset https.proxy

或者直接在 .gitconfig 文件中加上:

[http]
    proxy = http://127.0.0.1:1080
    sslVerify = false
[https]
    proxy = https://127.0.0.1:1080

Update(Win10):

ssr配合cow可以解决go get的问题。(ssr全局模式,vscode里不用设置代理,.gitignore里也不用设置代理。)

cow目录中有个rc.txt文件,打开后删除全部内容,然后添加两行:

listen = http://127.0.0.1:7777
proxy = socks5://127.0.0.1:1080

最后在环境变量里加上2个变量:

http_proxy
http://127.0.0.1:7777

https_proxy
http://127.0.0.1:7777

启动ssr,运行cow-taskbar.exe,然后go get吧!

-- End --

最新文章

  1. Windows Azure Web Site (13) Azure Web Site备份
  2. trap在shell中捕捉信号
  3. android开发调用c++共享库so文件
  4. JavaFX(一)窗口跳转
  5. react native学习1-安装,执行
  6. Sql Server 面试题
  7. 转: 让html5标签在ie8及以下的被正确解析的解决方案
  8. JS动态生成<style>
  9. .Net及C#基础知识,面试宝典
  10. Fescar(Seata)-Springcloud流程分析-1阶段
  11. sql server 性能调优之 资源等待 CXPACKET
  12. 第一册:lesson sixty one.
  13. Vue数组更新及过滤排序
  14. idea插件actiBPM源码
  15. sed -i命令详解
  16. (笔记)Linux中的终端、控制台、tty、pty
  17. 多线程-threading
  18. GIt帮助文档之创建新的Git仓库——现有目录下,通过导入所有文件来创建
  19. linux提权辅助工具(一):linux-exploit-suggester.sh
  20. 使用cmd命令创建maven(web)项目+项目转换成IDEA项目+项目打包+Jetty运行Web项目

热门文章

  1. jQuery实例之ajax请求json数据案例
  2. 【CF932E】Team Work(第二类斯特林数)
  3. 元素的class和id问题
  4. JS性能优化 之 事件委托
  5. 安卓开发_浅谈TimePicker(时间选择器)
  6. 安卓开发ScrollView嵌套ListView只显示一行
  7. Kotlin入门(4)声明与操作数组
  8. git批量修改已经提交的commit的姓名和邮箱
  9. 使用windows命令和iconv.exe批量转换文件编码
  10. C#异常--System.IO.FileLoadException:“混合模式程序集是针对“v2.0.50727”版的运行时生成的错误