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
とすればいいみたい。