9
  • 使用 Rails 5.2.4.3
  • Mac OSX Catalina 10.15.6

将 ruby​​ 更新到 2.7.1(通过 rvm)后运行rspec spec并收到错误:

Trying to register Bundler::GemfileError for status code 4 but Bundler::GemfileError is already registered
    # /Users/----/.rvm/gems/ruby-2.7.1@xmx/gems/bundler-2.1.4/lib/bundler.rb:7:in `require_relative'
    # /Users/----/.rvm/gems/ruby-2.7.1@xmx/gems/bundler-2.1.4/lib/bundler.rb:7:in `<top (required)>'
    # ./config/boot.rb:4:in `require'
    # ./config/boot.rb:4:in `<top (required)>'
    # ./config/application.rb:1:in `require'
    # ./config/application.rb:1:in `<top (required)>'
    # ./config/environment.rb:2:in `require_relative'
    # ./config/environment.rb:2:in `<top (required)>'
    # ./spec/spec_helper.rb:18:in `require'
    # ./spec/spec_helper.rb:18:in `<top (required)>'
    # ./spec/models/activation_spec.rb:1:in `require'
    # ./spec/models/activation_spec.rb:1:in `<top (required)>
  • 切换到全局 gemset 解决了这个问题,但使用默认 gemset 继续抛出错误。
  • 卸载并重新安装 bundler 并没有解决问题(确保 bundler v 2.1.4)
  • 我可以使用运行bundle exec rspec spec(但想实际解决问题)
4

2 回答 2

7

我发现的很多关于这个错误的讨论都很老了。然后,终于偶然发现了这个最近的 github 讨论:

运行以下解决了我的问题:

gem update --system 3.0.8 && gem update --system

注意:在不安装文档的情况下运行更新

gem update --system 3.0.8 --no-document && gem update --system --no-document

于 2020-08-01T20:24:33.787 回答
2
gem update --system

这个对我有用

于 2021-06-24T06:29:43.083 回答