méthode non définie `plain_specs 'pour # <Bundler :: RubygemsIntegration: 0x00005633f09a9000> (NoMethodError)

13

J'ai fait un pull d'un projet que j'ai dans mon travail et quand j'ai essayé de l'exécuter rails db:migrate, le terminal demande d'installer "Bundler 2" donc je le fais.

Maintenant, quand j'ai essayé de le faire, rails db:migratej'ai l'erreur suivante:

/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>'

J'apprécie ton aide!

Acartes
la source
Le problème semble similaire à celui décrit ici: stackoverflow.com/questions/24833123/… qui est résolu en régénérant les binstubs.
sergio
La régénération des binstubs n'a pas aidé. J'ai rétrogradé bundler à 2.0.2 et tout fonctionne bien maintenant. Je suppose que c'est un bug de bundler 2.1.0?
Aetherus

Réponses:

14
gem uninstall rubygems-bundler

fonctionne pour moi j'utilise bundler 2.1.0

RÉF: https://github.com/bundler/bundler/issues/7492

En montrant

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

Veuillez exécuter

gem uninstall -i /Users/xxxx/.rvm/rubies/ruby-2.5.7/lib/ruby/gems/2.5.0 rubygems-bundler
rokugou
la source
0

Quelle est votre version rubis? J'ai eu le même problème.

Ma version rubis est 2.6.3et mon bundle n'a pas fonctionné dans cette version rubis. (L'ensemble est déjà mis à niveau vers 2.0.2),

J'ai donc rétrogradé mon bundle en verion 1.17.3et cela a fonctionné.

Avec cette solution, je vais vous aider.

Livre Chang
la source
0

Assurez-vous que vous utilisez une version de ruby ​​prise en charge. Je suis tombé sur cela en essayant d'utiliser jruby-9.2.9. En passant de jruby à ruby, le problème a disparu.

rvm use ruby-2.5.1
spuder
la source
0

C'est un bug avec la version bundler 2.1.0.pre.2

J'ai un gem bundler non installé et installer une version différente de gem bundler

$ gem uninstall bundler
$ gem install bundler -v 2.0.2

Ça devrait marcher.

mahfuz
la source