3

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

没有任何应该安装的宝石出现。

我跑了

$ 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
4

1 回答 1

4

您在此应用中的默认设置是安装到vendor/bundle. 您可以通过It was installed into ./vendor/bundlegems 安装后出现的文本来判断这一点。

Bundler 文档指定您必须通过--system才能在系统位置安装:

--system: Install to the system location ($BUNDLE_PATH or $GEM_HOME) even
          if the bundle was previously installed somewhere else for this
          application

编辑:更多的解释是你的 ruby​​ 只知道不使用时使用 --system 选项安装的 gems bundle exec。您可以通过运行或(正如 Casper 注意到的那样)从vendor/bundle您选择的任何路径中看到您的宝石。现在,您可以选择是否要将 gem 放在系统位置或应用程序目录中。bundle exec gem listbundle list

于 2013-07-06T11:23:33.523 回答