undefined method `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>'

Я вдячний за твою допомогу!


Проблема здається подібною до описаної тут: stackoverflow.com/questions/24833123/…, яка вирішується шляхом регенерації біндубів.
Серджіо

Регенерування біндустів не допомогло. Я знизив bundler до 2.0.2 і все працює нормально. Я думаю, що це помилка bundler 2.1.0?
Ефір

Відповіді:


14
gem uninstall rubygems-bundler

працює для мене Я використовую bundler 2.1.0

REF: https://github.com/bundler/bundler/isissue/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

0

Яка ваша рубінова версія? У мене була така ж проблема.

Моя версія ruby ​​є, 2.6.3і мій пакет не працював у цій рубіновій версії. (Пакет вже оновлено 2.0.2),

Тож я знизив пакет до версії, 1.17.3і він спрацював.

Я з цим рішенням вам допоможу.


0

Переконайтеся, що ви використовуєте підтримувану версію рубіну. Я натрапив на це при спробі використання jruby-9.2.9. Перейшовши з джубі на рубін, проблема пішла.

rvm use ruby-2.5.1

0

Це помилка з версією bundler 2.1.0.pre.2

Я unistalled bemler gem та встановлюю іншу версію bundler gem

$ gem uninstall bundler
$ gem install bundler -v 2.0.2

Це має працювати.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.