由于某些不可描述的原因,國(guó)內(nèi)使用 go get 命令安裝某些包的時(shí)候會(huì)超時(shí)導(dǎo)致失敗,比如 net 包、 sys 包、 tools 包等。第一種解決辦法就是自己從git上下載后添加鏈接到 GOPATH 中,比如:
git clone https://github.com/golang/net.git $GOPATH/src/github.com/golang/net
git clone https://github.com/golang/sys.git $GOPATH/src/github.com/golang/sys
git clone https://github.com/golang/tools.git $GOPATH/src/github.com/golang/tools
ln -s $GOPATH/src/github.com/golang $GOPATH/src/golang.org/
cd $GOPATH/src/golang.org/ mv golang x
另外就是使用代理,網(wǎng)上大多是使用http代理,這里記錄下如何使用socket代理。 go get 命令其實(shí)也是利用了 git 命令進(jìn)行下載,不過(guò)下載后會(huì)自動(dòng)編譯安裝,所以首先設(shè)置git的代理:
git config --global http.proxy socks5://127.0.0.1:7070
然后
http_proxy=socks5://127.0.0.1:7070 go get xxxx
就可以了。
恢復(fù)的話可以重置git配置:
git config --global --unset http.proxy
go get命令使用socket代理
由于某些不可描述的原因,國(guó)內(nèi)使用 go get 命令安裝某些包的時(shí)候會(huì)超時(shí)導(dǎo)致失敗,比如 net 包、 sys 包、 tools 包等。第一種解決辦法就是自己從git上下載后添加鏈接到 GOPATH 中,比如:
git clone https://github.com/golang/net.git $GOPATH/src/github.com/golang/net
git clone https://github.com/golang/sys.git $GOPATH/src/github.com/golang/sys
git clone https://github.com/golang/tools.git $GOPATH/src/github.com/golang/tools
ln -s $GOPATH/src/github.com/golang $GOPATH/src/golang.org/
cd $GOPATH/src/golang.org/ mv golang x
另外就是使用代理,網(wǎng)上大多是使用http代理,這里記錄下如何使用socket代理。 go get 命令其實(shí)也是利用了 git 命令進(jìn)行下載,不過(guò)下載后會(huì)自動(dòng)編譯安裝,所以首先設(shè)置git的代理:
git config --global http.proxy socks5://127.0.0.1:7070
然后
http_proxy=socks5://127.0.0.1:7070 go get xxxx
就可以了。
恢復(fù)的話可以重置git配置:
git config --global --unset http.proxy
下面看下go get 使用代理的方法
眾所周知的原因,go get命令在提取一些工程或依賴時(shí)(如golang.org域名)被墻掉。通過(guò)使用vpn或代理的方法可以解決。
買VPN
這個(gè)就不多說(shuō)了,買vpn,相當(dāng)于直接連接。
使用代理
通過(guò)shell環(huán)境變量
export http_proxy=http://ip:port
go get golang.org/xxx
通過(guò)設(shè)置git代理
這也是go官方指導(dǎo)。
git config –global http.proxy 'http://127.0.0.1:8087'
go get golang.org/xxx
若使用goagent代理,請(qǐng)使用設(shè)置git代理的方式,且額外執(zhí)行以下腳本再go get:
git config --global http.sslCAinfo 'pathto/XX-Net-3.6.15/data/gae_proxy/CA.crt'
總結(jié)
以上所述是小編給大家介紹的Go get命令使用socket代理,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)歡迎給我留言,小編會(huì)及時(shí)回復(fù)大家的!
您可能感興趣的文章:- Go語(yǔ)言中利用http發(fā)起Get和Post請(qǐng)求的方法示例
- 利用dep代替go get獲取私有庫(kù)的方法教程
- Django objects.all()、objects.get()與objects.filter()之間的區(qū)別介紹
- Go語(yǔ)言Web編程實(shí)現(xiàn)Get和Post請(qǐng)求發(fā)送與解析的方法詳解
- Go語(yǔ)言服務(wù)器開(kāi)發(fā)實(shí)現(xiàn)最簡(jiǎn)單HTTP的GET與POST接口
- $_GET[''goods_id'']+0 的使用詳解
- 利用Go語(yǔ)言搭建WebSocket服務(wù)端方法示例
- go的websocket實(shí)現(xiàn)原理與用法詳解
- golang基于websocket實(shí)現(xiàn)的簡(jiǎn)易聊天室程序
- Go語(yǔ)言基于Socket編寫服務(wù)器端與客戶端通信的實(shí)例
- 使用Node.js和Socket.IO擴(kuò)展Django的實(shí)時(shí)處理功能