如何修复将 Ruby 从版本 2.7.5 升级到版本 3.0.6 时出现的捆绑器错误?

问题描述 投票:0回答:1

我正在更新 Rails 应用程序上的 Ruby 版本。我从版本

2.7.5
更新到版本
3.0.6
。我修复了所有损坏的依赖项,并且使用
rails s
命令成功启动了我的项目。但由于某种原因我无法运行 rspec 测试。

在我的

config/application.rb
文件中,以下行抛出错误。

Bundler.require(*Rails.groups)

错误是这样的:

ArgumentError:
  wrong number of arguments (given 4, expected 3)
# ./config/application.rb:16:in `<top (required)>'
# ./config/environment.rb:4:in `require_relative'
# ./config/environment.rb:4:in `<top (required)>'
# ./spec/rails_helper.rb:8:in `<top (required)>'

奇怪的是,只有当

:test
数组中存在
'test'
Rails.groups
时,才会重现此错误。 也就是说,例如,如果您给
Bundler.require
这样的数组作为输入 ->
[:default]
那么就不会出现错误

我的 Rails 应用程序版本:

6.1.7.4

ruby-on-rails ruby rspec bundler
1个回答
0
投票

过了一段时间我找到了答案。问题出在水豚库中。由于某种原因,我使用的版本没有标记为 Ruby 3 不可用,更新到更新的版本就可以正常工作了。

© www.soinside.com 2019 - 2024. All rights reserved.