Ошибка "Не удалось найти пакет"
Когда я пытаюсь сделать 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
У меня такая же проблема. Это сработало для меня:
запустите rvm/script/rvm, а также добавьте его в свой.profile или.bash_profile, как показано в https://rvm.io/rvm/install/
использовать пакет без 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
где Капистрано даже не смотрит.
- Перечислите ваши наборы драгоценностей.
RVM список драгоценных камней
- Используйте определенный драгоценный камень.
rvm использует 'my_get_set'
- Установите упаковщик под этот набор.
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. Удалить последнюю версию сборщика из системы может быть непросто, вот что мне помогло:
- Удалить версию по умолчанию: /questions/41773729/kak-izmenit-versiyu-bundler-po-umolchaniyu/55049777#55049777
- Удалить
bundler.rb
а такжеbundler
папка из путей загрузки:ruby -e 'puts $LOAD_PATH'
- Затем переустановите стабильный пакет -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>
Починил это.