Gemのパスを動的に変える方法。
Gem.pathにunshiftしただけではうまくいかない。ソースを見ながら試行錯誤して、以下でrequireできるのを確認した。
Gem.path.unshift("/path/to/your/local/gem") Gem.source_index.spec_dirs = Gem::SourceIndex.installed_spec_directories Gem.refresh
これでunshiftしたパスからロード出来るようになる。けど2行目が納得いかない。バグじゃないだろうか……。
rubygemsのバージョンは1.3.5。rubyは1.8.6。
$ gem env RubyGems Environment: - RUBYGEMS VERSION: 1.3.5 - RUBY VERSION: 1.8.6 (2008-08-11 patchlevel 287) [i686-darwin9.6.0] - INSTALLATION DIRECTORY: /opt/local/lib/ruby/gems/1.8 - RUBY EXECUTABLE: /opt/local/bin/ruby - EXECUTABLE DIRECTORY: /opt/local/bin - RUBYGEMS PLATFORMS: - ruby - x86-darwin-9 :
サンプル。