问题描述
我正在尝试运行rake routes
,但出现此错误(请参见下面的完整堆栈跟踪):
rake aborted!
SyntaxError: /usr/local/lib/ruby/gems/2.7.0/gems/activesupport-3.2.12/lib/active_support/values/time_zone.rb:270: circular argument reference - Now
我该如何解决?
尝试解决问题
我尝试了bundle install
和bundle update
,它们都成功运行。但是,这不能解决rake routes
引起的循环参数错误。
更多信息
捆绑器版本:1.10.6
Ruby版本:2.7.1p83
Rake版本:13.0.1
Rails版本:3.2.12
SyntaxError: /usr/local/lib/ruby/gems/2.7.0/gems/activesupport-3.2.12/lib/active_support/values/time_zone.rb:270: circular argument reference - Now
/usr/local/lib/ruby/gems/2.7.0/gems/activesupport-3.2.12/lib/active_support/time_with_zone.rb:1:in `require'
/usr/local/lib/ruby/gems/2.7.0/gems/activesupport-3.2.12/lib/active_support/time_with_zone.rb:1:in `<top (required)>'
/usr/local/lib/ruby/gems/2.7.0/gems/activesupport-3.2.12/lib/active_support/core_ext/time/zones.rb:1:in `require'
/usr/local/lib/ruby/gems/2.7.0/gems/activesupport-3.2.12/lib/active_support/core_ext/time/zones.rb:1:in `<top (required)>'
/usr/local/lib/ruby/gems/2.7.0/gems/activesupport-3.2.12/lib/active_support/core_ext/date/zones.rb:2:in `require'
/usr/local/lib/ruby/gems/2.7.0/gems/activesupport-3.2.12/lib/active_support/core_ext/date/zones.rb:2:in `<top (required)>'
/usr/local/lib/ruby/gems/2.7.0/gems/activesupport-3.2.12/lib/active_support/core_ext/date/calculations.rb:4:in `require'
/usr/local/lib/ruby/gems/2.7.0/gems/activesupport-3.2.12/lib/active_support/core_ext/date/calculations.rb:4:in `<top (required)>'
/usr/local/lib/ruby/gems/2.7.0/gems/activesupport-3.2.12/lib/active_support/ruby/shim.rb:12:in `require'
/usr/local/lib/ruby/gems/2.7.0/gems/activesupport-3.2.12/lib/active_support/ruby/shim.rb:12:in `<top (required)>'
/usr/local/lib/ruby/gems/2.7.0/gems/actionpack-3.2.12/lib/abstract_controller.rb:6:in `require'
/usr/local/lib/ruby/gems/2.7.0/gems/actionpack-3.2.12/lib/abstract_controller.rb:6:in `<top (required)>'
/usr/local/lib/ruby/gems/2.7.0/gems/actionpack-3.2.12/lib/action_controller.rb:1:in `require'
/usr/local/lib/ruby/gems/2.7.0/gems/actionpack-3.2.12/lib/action_controller.rb:1:in `<top (required)>'
/usr/local/lib/ruby/gems/2.7.0/gems/actionpack-3.2.12/lib/action_controller/railtie.rb:2:in `require'
/usr/local/lib/ruby/gems/2.7.0/gems/actionpack-3.2.12/lib/action_controller/railtie.rb:2:in `<top (required)>'
/usr/local/lib/ruby/gems/2.7.0/gems/activerecord-3.2.12/lib/active_record/railtie.rb:9:in `require'
/usr/local/lib/ruby/gems/2.7.0/gems/activerecord-3.2.12/lib/active_record/railtie.rb:9:in `<top (required)>'
/usr/local/lib/ruby/gems/2.7.0/gems/railties-3.2.12/lib/rails/all.rb:12:in `require'
/usr/local/lib/ruby/gems/2.7.0/gems/railties-3.2.12/lib/rails/all.rb:12:in `block in <top (required)>'
/usr/local/lib/ruby/gems/2.7.0/gems/railties-3.2.12/lib/rails/all.rb:10:in `each'
/usr/local/lib/ruby/gems/2.7.0/gems/railties-3.2.12/lib/rails/all.rb:10:in `<top (required)>'
我的宝石文件:
source 'https://rubygems.org'
gem 'rails','3.2.12'
gem 'MysqL2','0.5.3'
gem 'rubycas-client'
gem 'exception_notification'
gem 'jquery-rails'
gem 'json','>=1.8.3'
gem 'test-unit'
解决方法
根据发行说明,Rails 3.2仅支持Ruby 1.8.7和Ruby 1.9.2。您正在使用Ruby 2.7.1。
请注意,自2016年以来,社区不再支持Ruby on Rails 3.2,而自2014年以来,社区不再支持Ruby 1.8.7和1.9.2。
有一家公司出售对Ruby on Rails的长期支持:https://railslts.com/。您可以以每月150美元的价格购买Ruby on Rails 3.2的支持计划,它们的版本还支持Ruby 2.5。社区不再积极开发Ruby 2.5,但直到2021-03-31为止,它仍然会收到社区的重要安全修复程序。