Ошибка "Не удалось найти пакет"

Когда я пытаюсь сделать bundler update, я получаю эту ошибку:

.rvm/rubies/ruby-1.9.2-p180/lib/ruby/site_ruby/1.9.1/rubygems/dependency.rb:247:in
`to_specs': Could not find bundler (>= 0) amongst
[rake-0.8.7, rake-0.8.7, rubygems-update-1.8.4] (Gem::LoadError)

Я новичок в Ruby, может кто-нибудь сказать мне, что это может вызвать? Рейк 0.8.7 установлен.

Ответ 1

Убедитесь, что вы ввели обновление "bundle", если у вас установлен ролик bundler.

bundle update

Если у вас нет установленного пакета, сделайте gem install bundler.

Ответ 2

У меня была эта проблема, затем я сделал:

gem install bundle

Извещение "расслоение", а не "связной", решило мою проблему.

то в папке проекта выполните:

bundle install

а затем вы можете запустить проект, используя:

script/rails server

Ответ 3

У меня была та же проблема. Это сработало для меня:

  • запустите rvm/ script/rvm, а также добавьте его в ваш .profile или .bash_profile, как показано в https://rvm.io/rvm/install/

  • использовать пакет без sudo

Ответ 4

Команда bundle update (в "комплекте" нет "r" ).

Чтобы проверить, установлен ли комплектщик, выполните: gem list bundler или даже which bundle, и команда перечислит либо версию поставщика, либо путь к нему. Если ничего не отображается, установите пакет, набрав gem install bundler.

Ответ 6

У меня была такая же проблема. Что-то случилось с моим профилем bash, который неправильно настраивал материал RVM.

Убедитесь, что ваш профиль bash имеет следующую строку:

[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm"  # This loads RVM into a shell session.

Затем я запустил "source ~/.bash_profile" и перезагрузил все, что было в моем профиле bash.

Казалось, это исправить это для меня.

Ответ 7

В соответствии с этим ответом на аналогичный вопрос, этого должно быть достаточно:

rvmsudo gem install bundler.

Приветствия

Ответ 8

Возможно, вам придется сначала сделать что-то вроде "rvm use 1.9.2", чтобы вы использовали правильный рубин и gemset. Вы можете проверить, какой рубин вы используете, выполнив "ruby"

Ответ 9

Я получил это после обновления до ruby ​​2.1.0. Мой PATH был установлен в моем login script, чтобы включить .gem/ruby/2.0.0/bin. Обновление номера версии исправлено.

Ответ 10

В системе может быть "rootless". Попробуйте установить прошивку nvram variable boot-args на "rootless = 0". Попробуйте запустить набор команд:

sudo nvram boot-args="rootless=0"; 
sudo reboot

После завершения перезагрузки выполните:

sudo gem install bundler

Ответ 11

Может быть связано с https://github.com/bundler/bundler-features/issues/34, если вы выполняете команду внутри другого bundle exec. Попробуйте использовать Bundler.with_original_env, если это так.

Ответ 12

В моем случае я полагаю, что у меня был старый Ruby, оставшийся в системе, не зарегистрированный на rvm, и даже если переменные пути и список драгоценных камней были в порядке, он все равно использовал бы старый Ruby во время развертываний с Capistrano

И тогда я понял, что Ruby, который я установил с rvm, не был установлен на значение по умолчанию. Запуск

rvm alias create default <rvm_registered_ruby>

Исправлено.

Ответ 13

Для тех, кто сталкивается с этой проблемой с Capistrano: capistrano не может найти bundler. Причина может заключаться в том, что вы установили связку под другим gemset, где Capistrano даже не смотрит.

  • Перечислите свои гемзеты.

rvm gemset list

  1. Используйте определенный набор gemset.

rvm использовать 'my_get_set'

  1. Установите комплектщик под этим gemset.

комплект для установки gem

Затем повторите попытку с задачей развертывания.