[ruby-on-rails] # <Bundler :: RubygemsIntegration : 0x00005633f09a9000>에 대한 정의되지 않은 메소드 ‘plain_specs'(NoMethodError)

나는 내 작업에서 가지고있는 프로젝트를 가져 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>'

도와 주셔서 감사합니다!



답변

gem uninstall rubygems-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


답변

루비 버전은 무엇입니까? 나는 같은 문제가 있었다.

내 루비 버전은 2.6.3내 번들이이 루비 버전에서 작동하지 않았습니다. (번들은 이미로 업그레이드되었습니다 2.0.2)

그래서 번들을 verion으로 다운 그레이드 1.17.3했습니다.

이 솔루션을 사용하면 도움이 될 것입니다.


답변

지원되는 루비 버전을 사용하고 있는지 확인하십시오. 사용하려고 할 때이 문제가 발생했습니다 jruby-9.2.9. jruby에서 ruby로 전환하면 문제가 해결되었습니다.

rvm use ruby-2.5.1


답변

번 들러 버전의 버그입니다 2.1.0.pre.2

번 들러 보석을 unistalled하고 다른 버전의 번 들러 보석을 설치합니다.

$ gem uninstall bundler
$ gem install bundler -v 2.0.2

작동해야합니다.


답변