« 2007年度のテーマ | トップページ | 多様性の確保 »

2007年4月13日 (金)

プロキシが邪魔してRubyGemsでインストールできないとき

Rubyの標準パッケージマネージャ(?)であるRubyGemsでRubyパッケージをインストールする機会が増えてきた。Ruby on Railsが流行ってからは特に。

で、RubyGemsでインストールする際、ローカル環境に該当パッケージがない場合は、自動的にリモートインストールすると思うんだけど、このとき、プロキシ内にいると外部ネットワークにアクセスできず、

ERROR: While executing gem ... (SocketError)
getaddrinfo: no address associated with hostname.
とかエラーが出てインストールできない。

こんなときは-pオプションでプロキシを設定してあげると、インストールできるようになる。

gem install パッケージ名 -r -p http://your.proxy.hostname:port_no
注意すべき点は、
  1. http://...とHTTPを使用することを明示
  2. :8080のようにプロキシが使用しているポートを明示
の二点。

-pオプションはRubyGemsのリモート系コマンドの共通オプションで、gem help installなどとするとusageが表示されるのでチェキ。

毎度プロキシを指定するのが面倒であれば、Windowsの場合(というか他のプラットフォームでRubyを使ったことがないだけです…)、http_proxyという環境変数に上記書式でプロキシを設定しておけば、指定しなくても済むようになる(けど、セキュリティ的にはたぶんよろしくない)。

[2007/05/22 追記]
RubyGemsのバージョンが0.8.10なら上記方法で問題なかったんだけど、0.9.2で試したところ

ERROR: While executing gem ... (NoMethodError)
っていうエラーが出やがる。(上にも書いてあるけど)環境変数http_proxyにプロキシのアドレスを設定し、
gem install rails -r
とすれば、とりあえずインストールできるので、RubyGemsのプロキシ越えがうまくいかなかった人は試して欲しい。


|

Ruby」カテゴリの記事

トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/14622190

この記事へのトラックバック一覧です: プロキシが邪魔してRubyGemsでインストールできないとき:

コメント

コメントを書く