proxy 環境下の gem でリモートとローカルのリポジトリを一緒に使う
そんな環境の人、あまりいないかもしれないけど。
# .gemrc :sources: - http://gems.rubyforge.org - http://gems.github.com - http://gems.internal.local
こういう特定の環境だと、大体は環境変数 HTTP_PROXY および NO_PROXY を定義して自動で proxy 通るようにしてると思うんだけど、gem が内部で使ってる Net::HTTP は NO_PROXY を自動で解釈してよしなに、というのはやってくれないみたい。
ちょっと探したら http_configuration という gem パッケージがあって、これは RDoc を見たところ Net::HTTP を拡張して no_proxy などを指定することができるようだったので、gem 内でもこれ使うようにパッチ書いてみたら、とりあえず動いてる模様。