#rubygems #bundler
#рубигемы #упаковщик
Вопрос:
Когда я бегу rails generate migration
, я получаю:
/Users/bob/.rbenv/versions/2.7.4/lib/ruby/2.7.0/rubygems.rb:277:in 'find_spec_for_exe': Could not find 'bundler' (2.2.21) required by your /Users/bob/path/to/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.21`
Однако bundler
явно ли там:
$ gem list bundler *** LOCAL GEMS *** bundler (2.2.21) $ ruby -v ruby 2.7.4p191 (2021-07-07 revision a21a3b7d23) [x86_64-darwin19] $ find ~/.rbenv -name "*bundler*" | grep 2.7.4 | grep gemspec /Users/bob/.rbenv/versions/2.7.4/lib/ruby/gems/2.7.0/specifications/bundler-2.2.21.gemspec /Users/bob/.rbenv/versions/2.7.4/lib/ruby/gems/2.7.0/gems/bundler-2.2.21/bundler.gemspec
Я проследил его до строки 267 в rubygems.rb:
specs = dep.matching_specs(true)
(Он возвращает пустой массив, я полагаю, чтобы предположить, что он не может найти соответствующую спецификацию.)
Примечание: Я следовал приведенным выше инструкциям/предложениям (о запуске bundle update --bundler
и gem install bundler:2.2.21
) безрезультатно.
Ответ №1:
В итоге это сработало на меня:
rbenv uninstall 2.7.4 rbenv install 2.7.4 bundle git restore Gemfile.lock # there were some insignificant rearrangments