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を使ってるので、対応方法は以下だと思う。

  1. .bashrcにrvm用のproxy設定(export rvm_proxy=http://example.com:8080/ みたいな)を入れるか
  2. .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越しでもいけるようになりました。