Gems не в Local Gems после установки пакета

Новая машина. Новая установка rbenv. Новая установка rbenv-gemset. Новая установка ruby-2.0.0. Новые рельсы 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

1 ответ

Решение

По умолчанию в этом приложении установлено vendor/bundle, Вы можете сказать это по It was installed into ./vendor/bundle текст, который появляется после установки драгоценных камней.

Документация 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

РЕДАКТИРОВАТЬ: Более подробное объяснение состоит в том, что ваш рубин знает только о драгоценных камнях, установленных с параметром --system, когда он не используется bundle exec, Вы можете увидеть ваши драгоценные камни из vendor/bundle или любой другой путь, который вы выбрали, запустив bundle exec gem list или (как заметил Каспер) bundle list, Теперь это ваш выбор, хотите ли вы, чтобы ваши драгоценные камни находились в системном расположении или в каталоге приложения.

Другие вопросы по тегам