升级到 Rails 5.2 后出现语法错误

Syntax Error after upgrading to Rails 5.2

我的测试就是这样失败的。

SyntaxError:
  /Users/myname/.rvm/gems/ruby-2.2.5@myproject/gems/capybara-3.2.1/lib/capybara/session.rb:129: syntax error, unexpected '.'
        @server&.wait_for_pending_requests

这发生在我从 5.0.3 升级到 Rails 5.2 之后。我当前的 Gem 文件如下。

source 'https://rubygems.org'

gem 'rails', '~> 5.2.0'

group :test do
  gem 'capybara-screenshot'
end

group :development, :test do
    gem 'rspec-rails', '~> 3.6.0'
    gem 'guard'
    gem 'guard-rspec'
    gem "factory_girl_rails"
    gem 'capybara'
    gem "capybara-webkit"
end

有人可以在我脱掉所有头发之前帮助我吗?非常感谢。

您正在使用 Ruby 版本 2.2.5,并且您还将 capybara 升级到版本 3.2.1。如果您查看导致语法错误的行,提交消息会给您提示:Require minimum of Ruby 2.3.0

如果您查看 historycapybara 版本 3.2.0 需要 Ruby 2.3.0+.

您可以将您的应用程序 Ruby 版本升级到 2.3.0 或更高版本,或者将您的 capybara 版本设置为以前的版本。