memoメモ

最近はGo言語関連で。φ(..)メモメモ

go get でプロキシを突破するには #golang

Go言語では、 go get コマンドで外部パッケージや外部コマンドを簡単に取得でき、とても便利です。 ここでは、 go get コマンドでプロキシを突破する方法についてメモしておきます。

解決策

環境変数http_proxyhttps_proxy を設定します。

くわしく

プロキシ突破の失敗例として、mattn さんの go-redmine を取得しようと試みたものです:

http://mattn.kaoriya.net/software/lang/go/20121119213020.htm

$ go get github.com/mattn/go-redmine/godmine
# cd .; git clone https://github.com/mattn/go-redmine {$GOPATH}/src/github.com/mattn/go-redmine
Cloning into '{$GOPATH}/src/github.com/mattn/go-redmine'...
error: Couldn't resolve host 'github.com' while accessing https://github.com/mattn/go-redmine/info/refs
fatal: HTTP request failed
package github.com/mattn/go-redmine/godmine: exit status 128

というように http の接続エラーになってしまいます。

そこで、コマンドライン上で:

$ export http_proxy=http://<your username>:<your passwd>@<your proxy server>:8080/
$ export https_proxy=$http_proxy

として、環境変数http_proxyhttps_proxy を設定します。 これで、先程の go get コマンドで取得することができるようになります。