RVMを使ってProxy越しでrubyをインストールする
プロキシ環境下でRVMを使ってrubyをインストールしてたらハマったので色々調べた情報。
Ubuntu11.10のrvmをapt-getでインストールした場合、ライブラリをFetchするコードは、/usr/share/ruby-rvm/scripts/fetchにある。
抜粋すると
if ! command -v curl > /dev/null ; then
rvm_error "rvm requires curl. curl was not found in your active path."
exit 1
elif ! -z ${rvm_proxy} ; then
fetch_command="curl -x${rvm_proxy} -L --create-dirs -C - " # -s for silent
else
fetch_command="curl -L --create-dirs -C - " # -s for silent
fi
curlを使ってるので、対応方法は以下だと思う。
- .bashrcにrvm用のproxy設定(export rvm_proxy=http://example.com:8080/ みたいな)を入れるか
- .curlrcにcurl用のproxy設定を入れるか
前者を試したけどダメでした。
後者~/.curlrcに以下を追加。
proxy-user = "username:password"
proxy = "http://proxy.domain.com:8080"
1行目のほうは不要ならいらない。
$ sudo rvm package install openssl
Fetching openssl-0.9.8n.tar.gz to /usr/share/ruby-rvm/archives
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 3681k 100 3681k 0 0 10.7M 0 --:--:-- --:--:-- --:--:-- 10.8M
--no-same-owner
Configuring openssl in /usr/share/ruby-rvm/src/openssl-0.9.8n.
Compiling openssl in /usr/share/ruby-rvm/src/openssl-0.9.8n.
Installing openssl to /usr/share/ruby-rvm/usr
これでproxy越しでもいけるようになりました。