método indefinido `plain_specs 'para # <Bundler :: RubygemsIntegration: 0x00005633f09a9000> (NoMethodError)

13

Eu criei um projeto que tenho no meu trabalho e, quando tentei executar rails db:migrate, a solicitação do terminal para instalar o "Bundler 2", então eu o faço.

Agora, quando tentei, rails db:migratetenho o seguinte erro:

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

Eu aprecio sua ajuda!

Acartes
fonte
O problema parece semelhante ao descrito aqui: stackoverflow.com/questions/24833123/…, resolvido com a regeneração dos binstubs.
sergio
Regenerar binstubs não ajudou. Eu desclassifiquei o bundler para 2.0.2 e tudo funciona bem agora. Eu acho que é um bug do bundler 2.1.0?
Aetherus

Respostas:

14
gem uninstall rubygems-bundler

funciona para mim eu estou usando o bundler 2.1.0

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

Ao mostrar

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

Por favor corra

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

Qual é a sua versão do ruby? Eu tive o mesmo problema.

Minha versão do ruby ​​é 2.6.3e meu pacote não funcionou nesta versão do ruby. (O pacote já está atualizado para 2.0.2),

Então, eu rebaixei meu pacote para verion 1.17.3e funcionou.

Eu com esta solução irá ajudá-lo.

Livro Chang
fonte
0

Verifique se você está usando uma versão do ruby ​​suportada. Eu me deparei com isso ao tentar usar jruby-9.2.9. Ao mudar de jruby para ruby, o problema desapareceu.

rvm use ruby-2.5.1
spuder
fonte
0

É um bug com a versão do bundler 2.1.0.pre.2

Instalei a gem bundler e instalei uma versão diferente da bundler gem

$ gem uninstall bundler
$ gem install bundler -v 2.0.2

Deveria funcionar.

mahfuz
fonte