将 ruby 更新到 2.7.1 后 rspec 测试抛出错误 `Bundler::GemfileError for status code 4 but Bundler::GemfileError is already registered`
After updating ruby to 2.7.1 rspec tests throws error `Bundler::GemfileError for status code 4 but Bundler::GemfileError is already registered`
- 使用 Rails 5.2.4.3
- Mac OSX 卡特琳娜 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 继续抛出错误。
- 卸载并重新安装捆绑器未能解决问题(确保捆绑器 v 2.1.4)
- 我可以 运行 使用
bundle exec rspec spec
(但我想真正解决问题)
我发现很多关于这个错误的讨论都已经过时了。然后,终于偶然发现了这个最近的 github 讨论:
运行 以下解决了我的问题:
gem update --system 3.0.8 && gem update --system
注意:要运行更新而不安装文档
gem update --system 3.0.8 --no-document && gem update --system --no-document
gem update --system
对我有用
- 使用 Rails 5.2.4.3
- Mac OSX 卡特琳娜 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 继续抛出错误。
- 卸载并重新安装捆绑器未能解决问题(确保捆绑器 v 2.1.4)
- 我可以 运行 使用
bundle exec rspec spec
(但我想真正解决问题)
我发现很多关于这个错误的讨论都已经过时了。然后,终于偶然发现了这个最近的 github 讨论:
运行 以下解决了我的问题:
gem update --system 3.0.8 && gem update --system
注意:要运行更新而不安装文档
gem update --system 3.0.8 --no-document && gem update --system --no-document
gem update --system
对我有用