go get でプロキシを突破するには #golang
Go言語では、 go get
コマンドで外部パッケージや外部コマンドを簡単に取得でき、とても便利です。
ここでは、 go get
コマンドでプロキシを突破する方法についてメモしておきます。
解決策
環境変数の http_proxy
と https_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_proxy
と https_proxy
を設定します。
これで、先程の go get コマンドで取得することができるようになります。