web-dev-qa-db-ja.com

Ruby gemsのデフォルトの検索パスは何ですか?つまり、デフォルトのGEM_HOME

Ruby gemsのデフォルトの検索パスは何ですか?gem--install-dirスイッチに渡すことができるディレクトリを見つけようとしているので、そうしません宝石を見つけるには、環境変数GEM_HOMEを設定する必要があります。

特に、gemをインストールした場合 jekyll via

$ gem install --bindir /usr/local/bin --install-dir /usr/local/lib/Ruby/gems/1.8 jekyll

その場合、/usr/local/bin/jekyllGEM_HOMEを明示的に設定しないとライブラリを見つけることができません:

$ jekyll --help
/usr/lib/Ruby/1.8/rubygems.rb:779:in `report_activate_error': Could not find RubyGem jekyll (>= 0) (Gem::LoadError)
    from /usr/lib/Ruby/1.8/rubygems.rb:214:in `activate'
    from /usr/lib/Ruby/1.8/rubygems.rb:1082:in `gem'
    from /usr/local/bin/jekyll:18
$ GEM_HOME=/usr/local/lib/Ruby/gems/1.8 jekyll --help
Jekyll is a blog-aware, static site generator.
[ ... ]

Ruby自体は、Ruby変数$LOAD_PATHにリストされているディレクトリを検索します。これは、環境変数RUBYLIB。しかし、rubygemシステムはどこで宝石を検索しますか?

24
mjs

タイプgem env。それはあなたが知りたいことを教えてくれます。

34
Hongli