トップ «前の日記(2007-11-28) 最新 次の日記(2007-12-01)» 編集

Route 477



2007-11-30

[ruby] Debianにrubygemsをインストールしてみた

Debianにrubygemsをインストールしてみました。

結論から言うと、aptitudeで簡単に入るんですけど、2点だけ気をつけないといけないことがあります。

(1) gem置き場を変更したいとき

デフォルトでは/var/lib/gems以下にgemが置かれるので、自分の$HOMEなど別の場所を gem置き場にしたいときは、

  $ cp -r /var/lib/gems/1.8/gems/sources-0.0.1 $GEM_HOME/gems/
  $ cp    /var/lib/gems/1.8/specifications/sources-0.0.1.gemspec $GEM_HOME/specifications/

のようにしてsourcesという最初から入っているgemをコピーしてやる必要があります。

これを忘れると

yhara@mono:~ % gem install Hpricot
/usr/lib/ruby/1.8/rubygems/custom_require.rb:27:in `gem_original_require': no such file to load -- sources (LoadError)
        from /usr/lib/ruby/1.8/rubygems/custom_require.rb:27:in `require'
        from /usr/lib/ruby/1.8/rubygems/remote_installer.rb:462:in `sources'
        from /usr/lib/ruby/1.8/rubygems/remote_installer.rb:472:in `source_index_hash'

のように、gem installができなくなります(というかなりました)。

(2) gemでインストールしたコマンドはパスが通らない

gemによっては、独自のコマンドラインユーティリティーが付属しているものがあります(Railsのrailsコマンドとかが 代表的でしょうか)。

これらはデフォルトでは /var/lib/gems/1.8/bin にインストールされるので、 ここに手動でパスを通してやる必要があります。 (gem置き場を変更しているときは $GEM_HOME/bin に)。

まとめ

…というようなことが /usr/share/doc/libgems-ruby1.8/README.Debian に書いてありました^^;;;;

aptitude関係ではまったときはまず /usr/share/doc/(パッケージ名)/README.Debian がないか探してみましょう、という話でした。

おまけ

debパッケージの中身を解凍したいときは、

dpkg-deb --extract /var/cache/apt/archives/(パッケージ名とバージョン).deb

とすればいいみたい。