неопределенный метод "plain_specs" для # <Bundler :: RubygemsIntegration: 0x00005633f09a9000> (NoMethodError)

13

Я сделал проект, который у меня есть в моей работе, и когда я попытался запустить rails db:migrate, терминал запросил установку «Bundler 2», поэтому я делаю это.

Теперь, когда я попытался сделать, у rails db:migrateменя есть следующая ошибка:

/home/acartesc/.rvm/rubies/ruby-2.4.3/lib/ruby/gems/2.4.0/gems/rubygems-bundler-1.4.5/lib/rubygems-bundler/noexec.rb:84:in `setup': undefined method `plain_specs' for #<Bundler::RubygemsIntegration:0x00005633f09a9000> (NoMethodError)
    from /home/acartesc/.rvm/rubies/ruby-2.4.3/lib/ruby/gems/2.4.0/gems/rubygems-bundler-1.4.5/lib/rubygems-bundler/noexec.rb:124:in `check'
    from /home/acartesc/.rvm/rubies/ruby-2.4.3/lib/ruby/gems/2.4.0/gems/rubygems-bundler-1.4.5/lib/rubygems-bundler/noexec.rb:131:in `<top (required)>'
    from /home/acartesc/.rvm/rubies/ruby-2.4.3/lib/ruby/site_ruby/2.4.0/rubygems/core_ext/kernel_require.rb:168:in `require'
    from /home/acartesc/.rvm/rubies/ruby-2.4.3/lib/ruby/site_ruby/2.4.0/rubygems/core_ext/kernel_require.rb:168:in `rescue in require'
    from /home/acartesc/.rvm/rubies/ruby-2.4.3/lib/ruby/site_ruby/2.4.0/rubygems/core_ext/kernel_require.rb:178:in `require'
    from /home/acartesc/.rvm/rubies/ruby-2.4.3/lib/ruby/gems/2.4.0/gems/rubygems-bundler-1.4.5/lib/rubygems_executable_plugin.rb:4:in `block in <top (required)>'
    from /home/acartesc/.rvm/rubies/ruby-2.4.3/lib/ruby/gems/2.4.0/gems/executable-hooks-1.5.0/lib/executable-hooks/hooks.rb:50:in `block in run'
    from /home/acartesc/.rvm/rubies/ruby-2.4.3/lib/ruby/gems/2.4.0/gems/executable-hooks-1.5.0/lib/executable-hooks/hooks.rb:49:in `each'
    from /home/acartesc/.rvm/rubies/ruby-2.4.3/lib/ruby/gems/2.4.0/gems/executable-hooks-1.5.0/lib/executable-hooks/hooks.rb:49:in `run'
    from /home/acartesc/.rvm/gems/ruby-2.4.3/bin/ruby_executable_hooks:10:in `<main>'

Я ценю вашу помощь!

Acartes
источник
Эта проблема похожа на описанную здесь: stackoverflow.com/questions/24833123/…, которая решается путем регенерации binstubs.
Серхио
Регенерирующие binstubs не помогли. Я понизил пакет до 2.0.2, и теперь все работает нормально. Я полагаю, это ошибка в пакете 2.1.0?
Aetherus

Ответы:

14
gem uninstall rubygems-bundler

у меня работает я пользуюсь bundler 2.1.0

REF: https://github.com/bundler/bundler/issues/7492

При показе

ERROR:  While executing gem ... (Gem::InstallError)
    rubygems-bundler is not installed in GEM_HOME, try:
    gem uninstall -i /Users/xxxx/.rvm/rubies/ruby-2.5.7/lib/ruby/gems/2.5.0 rubygems-bundler

Пожалуйста, запустите

gem uninstall -i /Users/xxxx/.rvm/rubies/ruby-2.5.7/lib/ruby/gems/2.5.0 rubygems-bundler
rokugou
источник
0

Какая у тебя рубиновая версия? У меня была такая же проблема.

Моя версия ruby 2.6.3и мой комплект не работали в этой версии ruby. (Bundle уже обновлен до 2.0.2),

Так что я понизил свой пакет до версии, 1.17.3и это сработало.

Я с этим решением вам помогу.

Книга Чанг
источник
0

Убедитесь, что вы используете поддерживаемую версию ruby. Я столкнулся с этим при попытке использовать jruby-9.2.9. При переключении с jruby на ruby ​​проблема исчезла.

rvm use ruby-2.5.1
spuder
источник
0

Это ошибка с версией пакета 2.1.0.pre.2

Я развернул сборщик гемов и установил другую версию сборщика гемов

$ gem uninstall bundler
$ gem install bundler -v 2.0.2

Он должен работать.

Махфуз
источник