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

Когда я пытаюсь сделать 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 установлены.

17 ответов

Решение

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

bundle update

Если у вас не установлен пакет, выполните gem install bundler,

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

gem install bundle

Заметьте, что "связка" не "связка" решила мою проблему.

Затем в папке вашего проекта выполните:

bundle install

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

script/rails server

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

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

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

Если вы используете rvm, попробуйте следующую команду:

rvmsudo gem install bundler

Согласно другому вопросу: не удалось найти рельсы (>= 0) среди [] (Gem::LoadError)

Надеюсь, это помогло, ура

Команда bundle update (в "связке" нет "r").

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

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

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

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

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

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

Если вы используете rbenv Бег rbenv rehashможет решить эту проблему после того, как вы установилиbundler и все еще сталкиваются с проблемой.

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

rvmsudo gem install bundler.

ура

У меня была такая же проблема при установке новой версии гема Bundler () на моем компьютере.

Я получал ошибку ниже:

      /home/username/.rbenv/versions/2.7.2/lib/ruby/2.7.0/rubygems.rb:277:in `find_spec_for_exe': Could not find 'bundler' (2.2.11) required by your /home/username/Projects/my_project/Gemfile.lock. (Gem::GemNotFoundException)
To update to the latest version installed on your system, run `bundle update --bundler`.
To install the missing version, run `gem install bundler:2.2.11`
        17: from /home/username/.rbenv/versions/2.7.2/bin/rspec:23:in `<main>'
        16: from /home/username/.rbenv/versions/2.7.2/bin/rspec:23:in `load'
        15: from /home/username/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/rspec-core-3.10.1/exe/rspec:4:in `<top (required)>'
        14: from /home/username/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/rspec-core-3.10.1/lib/rspec/core/runner.rb:45:in `invoke'

Вот как я этого добился :

Во-первых, я уже установил гем Bundler2.2.11 и сделал его гемом по умолчанию:

      gem install --default bundler -v 2.2.11

Затем я перечислил свои версии Bundler:

      gem list bundler

Наконец, я обновил свои драгоценные камни, чтобы использовать только что установленный Bundler:

      gem update --system

Это все.

надеюсь, это поможет

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

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

Система может работать без прав root. Попробуйте установить переменную встроенного ПО nvram boot-args в "rootless=0". Попробуйте запустить набор команд:

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

После перезагрузки запустите:

sudo gem install bundler

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

  1. Перечислите ваши наборы драгоценностей.

RVM список драгоценных камней

  1. Используйте определенный драгоценный камень.

rvm использует 'my_get_set'

  1. Установите упаковщик под этот набор.

gem install bundler

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

Я решил это, удалив Gemfile.lock а также gem install bundler:2.2.0

На всякий случай у меня была аналогичная ошибка с бандлером 2.1.2 и я решил ее:

sudo gem install bundler -v 1.17.3

Если у вас установлено несколько версий пакета, то вы можете запустить определенную версию пакета следующим образом: bundle _1.17.3_ exec rspec

Хотя кажется, что более поздние версии сборщика содержат довольно много ошибок (были проблемы в 3 разных проектах на 2 операционных системах), наличие одного старого сборщика может работать лучше всего, по крайней мере, это то, что у меня есть на моих Ubuntu и MacOS

Последние версии сборщика могут иметь приоритет над стабильным сборщиком -v 1.17.3. Удалить последнюю версию сборщика из системы может быть непросто, вот что мне помогло:

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

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

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

rvm alias create default <rvm_registered_ruby>

Починил это.

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