新机。新的 rbenv 安装。新的 rbenv-gemset 安装。新的 ruby-2.0.0 安装。新的 rails 4.0.0 应用程序。
当我
$ bundle install
从 rails 应用程序目录,我得到
Your bundle is complete!
It was installed into ./vendor/bundle
但是,如果我那时
$ gem list
没有任何应该安装的 gems 出现。
我跑了
$ rbenv rehash
为什么会这样?
附加信息:
$ which bundle
/usr/local/var/rbenv/shims/bundle
$ rbenv which bundle
/usr/local/var/rbenv/versions/2.0.0-p247/bin/bundle
$ rbenv which ruby
/usr/local/var/rbenv/versions/2.0.0-p247/bin/ruby
$ ruby --version
ruby 2.0.0p247 (2013-06-27 revision 41674) [x86_64-darwin12.4.0]
$ rbenv gemset active
blog
$ which rails
/usr/local/var/rbenv/shims/rails
最佳答案
您在此应用中的默认设置是安装到 vendor/bundle
。您可以通过 gems 安装后出现的 It was installed into ./vendor/bundle
文本来说明这一点。
Bundler documentation 指定你必须通过 --system
安装在系统位置:
--system: Install to the system location ($BUNDLE_PATH or $GEM_HOME) even
if the bundle was previously installed somewhere else for this
application
编辑:更多的解释是,当不使用
bundle exec
时,您的 ruby 只知道使用 --system 选项安装的 gem。您可以从 vendor/bundle
或通过运行 bundle exec gem list
或(如 Casper 注意到的) bundle list
选择的任何路径查看您的 gem 。现在,您可以选择将 gem 放在系统位置还是应用程序目录中。关于ruby-on-rails - bundle 安装后,Gems 不在本地 Gems 中,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17502373/