作為一個小白,困惑了快半個小時,一直以為是自己的環境搭建有問題。
后來我終於知道了,原來golang.org與godoc.org是牆外的網站。
所以,裝軟件的時候,會有下面的錯誤
/home/tong/go/src/local/test [tong@TStation] [12:24] > proxychains go get -v golang.org/x/tools/cmd/guru [proxychains] config file found: /etc/proxychains.conf [proxychains] preloading /usr/lib/libproxychains4.so package golang.org/x/tools/cmd/guru: unrecognized import path "golang.org/x/tools/cmd/guru" (https fetch: Get https://golang.org/x/tools/cmd/guru?go-get=1: dial tcp 224.0.0.1:443: connect: network is unreachable)
或
> go get -v golang.org/x/database/sql package golang.org/x/database/sql: unrecognized import path "golang.org/x/database/sql" (https fetch: Get https://golang.org/x/database/sql?go-get=1: dial tcp 216.239.37.1:443: i/o timeout)
使用瀏覽器的時候,我們有辦法訪問它。
在命令行下 go get的時候,就需要命令行下的方法,
我一般使用 proxychain工具,它可以使它的子進程全部走它的網絡出口,但是不知道為什么go get卻不行。
這時候,其實還有更簡單的方式,就是用環境變量,如下:
https_proxy=socks5://127.0.0.1:1080 go get -v golang.org/x/tools/cmd/guru
對應的其他大同小異的,還有:
# set http proxy export http_proxy=http://127.0.0.1:8080 # set http proxy with user and password export http_proxy=http://USERNAME:PASSWORD@127.0.0.1:8080 # set http proxy with user and password (with special characters) export http_proxy=http://`urlencode 'USERNAME'`:`urlencode 'PASSWORD'`@127.0.0.1:8080 # set socks proxy (local DNS) export http_proxy=socks5://127.0.0.1:1080 # set socks proxy (remote DNS) export http_proxy=socks5h://127.0.0.1:1080