Ubuntu/DebianでRubyGemsをアップデートしたら格納場所が変わってギャーッとなる人へ
通常Debian/UbuntuのRubyGemsでは、RubyGemsの環境は(gem environment)以下のようになっていると思いますが、
- INSTALLATION DIRECTORY: /var/lib/gems/1.8
- EXECUTABLE DIRECTORY: /var/lib/gems/1.8/bin
gem update --system や rubygems_update などを使ってRubyGems本体をアップデートすると、パスが書き換わってしまいます。
そこで、Debina/Ubuntu流に戻す方法を書きます。
詳しくは、RubyGemsパッケージをダウンロードして、その中のパッチ(debian/patches/01_default_gem_path.dpatch)をみてもらいたいんですが、簡単に。
/usr/lib/ruby/1.8/rubygems/defaults.rb の以下のメソッドを書き換えましょう。
def self.default_dir File.join('/', 'var', 'lib', 'gems', ConfigMap[:ruby_version]) end
あと、これも、
def self.default_bindir File.join('/', 'var', 'lib', 'gems', ConfigMap[:ruby_version], 'bin') end
という風な感じで。