新机。新的 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/

10-11 23:14
查看更多