RubyGemsで色々と手間

Proxy認証

会社にてRubyGemsが必要になり、ネットワーク経由でインストールしようとしたところ、Proxy認証でユーザ名に@を含んだとき認証が通らない。@を%40にエンコードしてみたけどやはりダメだった。お手上げなので、ローカルProxyでも建ててやるかと考えていたら、gemでもローカルインストール出来るのでは?と調べてみたら、あった。

必要なGemはRubyGems からダウンロード。
ダウンロードしたGemに対して、

gem install mechanize-2.7.3.gem --local

とインストールができる。後は面倒だけど、エラー表示される依存関係を手作業で解決していけば良い。

Nokogiriのインストール

依存関係の解決途中でNokogiriが必要となる。非常に時間がかかるコンパイルを成功させるために、Cygwinでは

  • libxml2-devel
  • libxslt-devel

が必要なのは知っていた。が、documentのインストール部分にて文字コード関係で失敗する。Nokogiriに関してはドキュメントを必要としない*1ので

gem install nokogiri-1.6.1.gem --local --no-document

として、ドキュメントのインストールしないことで回避した。

ローカルでRubyGems自身のアップデート

依存関係の解決途中で今度は、RubyGemsが古いと言ってくるので、アップデートした。

gems install rubygems-update-2.2.2.gem --local
update_rubygems

*1:Nokogiriまで使い出したことは、1,2度ぐらいしかない。