【发布时间】:2021-04-27 19:56:04
【问题描述】:
复兴和旧代码库。将其安装在新的 docker env 中。当我启动应用程序时,我收到此错误。我不是红宝石人,不知道这是什么
WARNING: If you plan to load any of ActiveSupport's core extensions to Hash, be
sure to do so *before* loading Sinatra::Application or Sinatra::Base. If not,
you may disregard this warning.
Set SINATRA_ACTIVESUPPORT_WARNING=false in the environment to hide this warning.
rake aborted!
SyntaxError: /usr/local/bundle/gems/database_cleaner-active_record-2.0.0/lib/database_cleaner/active_record/base.rb:22: syntax error, unexpected <<
<<~SQL
^
/usr/local/bundle/gems/database_cleaner-active_record-2.0.0/lib/database_cleaner/active_record/base.rb:62: syntax error, unexpected '.'
...veRecord::Base.configurations&.configs_for(name: db)&.config...
... ^
/usr/local/bundle/gems/database_cleaner-active_record-2.0.0/lib/database_cleaner/active_record/base.rb:62: syntax error, unexpected '.'
...ations&.configs_for(name: db)&.configuration_hash
... ^
/usr/local/bundle/gems/database_cleaner-active_record-2.0.0/lib/database_cleaner/active_record/transaction.rb:1:in `require'
/usr/local/bundle/gems/database_cleaner-active_record-2.0.0/lib/database_cleaner/active_record/transaction.rb:1:in `<top (required)>'
/usr/local/bundle/gems/database_cleaner-active_record-2.0.0/lib/database_cleaner/active_record.rb:3:in `require'
/usr/local/bundle/gems/database_cleaner-active_record-2.0.0/lib/database_cleaner/active_record.rb:3:in `<top (required)>'
/usr/local/bundle/gems/database_cleaner-2.0.1/lib/database_cleaner.rb:1:in `require'
/usr/local/bundle/gems/database_cleaner-2.0.1/lib/database_cleaner.rb:1:in `<top (required)>'
/app/config/environments/shared.rb:9:in `<top (required)>'
/app/tasks/db.rake:2:in `require_relative'
/app/tasks/db.rake:2:in `block in <top (required)>'
/usr/local/bundle/gems/rake-13.0.3/exe/rake:27:in `<top (required)>'
Tasks: TOP => dl:start:all => dl:start:job_queue => dl:start:queue => environment
(See full trace by running task with --trace)
【问题讨论】:
-
第一个是“波浪形的heredoc”(“
-
我确实尝试在 ruby:latest 上构建它并得到了这些错误。听起来像是 json gem generator.c 使用的缺少某些类型定义:在函数“generate_json”中:generator.c:861:25:错误:“rb_cFixnum”未声明(在此函数中首次使用);你的意思是“mFixnum”吗? } else if (klass == rb_cFixnum) { ^~~~~~~~~~ mFixnum generator.c:861:25: 注意:每个未声明的标识符对于它出现在 generator.c:863 中的每个函数只报告一次: 25: 错误: 'rb_cBignum' 未声明(在此函数中首次使用)