Ruby gems 的默认搜索路径是什么?我正在尝试确定可以将哪些目录传递给 gem
的 --install-dir
开关,这样我就不必设置环境变量 GEM_HOME
表示要找到的 gem 。
特别是,如果我安装 gem jekyll通过
$ gem install --bindir /usr/local/bin --install-dir /usr/local/lib/ruby/gems/1.8 jekyll
然后 /usr/local/bin/jekyll
在没有显式设置 GEM_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 系统在哪里搜索 gem ?
最佳答案
键入 gem env
。这会告诉您您想知道的内容。
关于ruby - Ruby gems 的默认搜索路径是什么?即默认的 GEM_HOME,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5056163/