ruby-on-rails - Ruby on Rails - 在 OSX 上使用 Ruby 2.4.4 而不是 rails 5.1.6 的配置问题/异常
问题描述
配置现有的 ruby on rails 项目遇到一些奇怪的配置问题 - 似乎我缺少一些配置。
我在我的 MAC 机器上执行了以下某些步骤。
配置 Ruby 环境:=> rbenv install 2.4.4 => rbenv local 2.4.4
- 捆绑配置设置路径 ~/.bundle
- 捆绑安装
- npm 安装
- bundle exec rails server -b 0.0.0.0 -p 3001
bundle exec rails server -b 0.0.0.0 -p 3001导致我无法找到原因的严重异常。
退出 /Users/xxxxxx/.bundle/ruby/2.4.0/gems/deprecated-2.0.1/lib/deprecated.rb:176:in `instance_method': {:sanitize_conditions=>:sanitize_sql} 不是符号也不是字符串(类型错误) 来自 /Users/xxxxxx/.bundle/ruby/2.4.0/gems/deprecated-2.0.1/lib/deprecated.rb:176:in `block in' 来自 /Users/xxxxxx/.bundle/ruby/2.4.0/gems/activerecord-5.1.6/lib/active_record/sanitization.rb:32:in `' 来自 /Users/xxxxxx/.bundle/ruby/2.4.0/gems/activerecord-5.1.6/lib/active_record/sanitization.rb:5:in `' 来自 /Users/xxxxxx/.bundle/ruby/2.4.0/gems/activerecord-5.1.6/lib/active_record/sanitization.rb:2:in `' 来自 /Users/xxxxxx/.bundle/ruby/2.4.0/gems/activerecord-5.1.6/lib/active_record/sanitization.rb:1:in `' 来自 /Users/xxxxxx/.bundle/ruby/2.4.0/gems/activesupport-5.1.6/lib/active_support/dependencies.rb:292:in `require' 来自 /Users/xxxxxx/.bundle/ruby/2.4.0/gems/activesupport-5.1.6/lib/active_support/dependencies.rb:292:in `block in require' 来自 /Users/xxxxxx/.bundle/ruby/2.4.0/gems/activesupport-5.1.6/lib/active_support/dependencies.rb:256:in `block in load_dependency' 来自 /Users/xxxxxx/.bundle/ruby/2.4.0/gems/activesupport-5.1.6/lib/active_support/dependencies.rb:662:in `new_constants_in' 来自 /Users/xxxxxx/.bundle/ruby/2.4.0/gems/activesupport-5.1.6/lib/active_support/dependencies.rb:256:in `load_dependency' 来自 /Users/xxxxxx/.bundle/ruby/2.4.0/gems/activesupport-5.1.6/lib/active_support/dependencies.rb:292:in `require' 来自 /Users/xxxxxx/.bundle/ruby/2.4.0/gems/activerecord-5.1.6/lib/active_record/base.rb:297:in `' 来自 /Users/xxxxxx/.bundle/ruby/2.4.0/gems/activerecord-5.1.6/lib/active_record/base.rb:275:in `' 来自 /Users/xxxxxx/.bundle/ruby/2.4.0/gems/activerecord-5.1.6/lib/active_record/base.rb:25:in `' 来自 /Users/xxxxxx/.bundle/ruby/2.4.0/gems/activesupport-5.1.6/lib/active_support/dependencies.rb:292:in `require' 来自 /Users/xxxxxx/.bundle/ruby/2.4.0/gems/activesupport-5.1.6/lib/active_support/dependencies.rb:292:in `block in require' 来自 /Users/xxxxxx/.bundle/ruby/2.4.0/gems/activesupport-5.1.6/lib/active_support/dependencies.rb:256:in `block in load_dependency' 来自 /Users/xxxxxx/.bundle/ruby/2.4.0/gems/activesupport-5.1.6/lib/active_support/dependencies.rb:662:in `new_constants_in' 来自 /Users/xxxxxx/.bundle/ruby/2.4.0/gems/activesupport-5.1.6/lib/active_support/dependencies.rb:256:in `load_dependency' 来自 /Users/xxxxxx/.bundle/ruby/2.4.0/gems/activesupport-5.1.6/lib/active_support/dependencies.rb:292:in `require' 来自 /Users/xxxxxx/workspace/my-project/rails/app/models/cloud/entry.rb:2:in `' 来自 /Users/xxxxxx/workspace/my-project/rails/app/models/cloud/entry.rb:1:in `' 来自 /Users/xxxxxx/.bundle/ruby/2.4.0/gems/activesupport-5.1.6/lib/active_support/dependencies.rb:477:in `load' 来自 /Users/xxxxxx/.bundle/ruby/2.4.0/gems/activesupport-5.1.6/lib/active_support/dependencies.rb:477:in `block in load_file' 来自 /Users/xxxxxx/.bundle/ruby/2.4.0/gems/activesupport-5.1.6/lib/active_support/dependencies.rb:662:in `new_constants_in' 来自 /Users/xxxxxx/.bundle/ruby/2.4.0/gems/activesupport-5.1.6/lib/active_support/dependencies.rb:476:in `load_file' 来自 /Users/xxxxxx/.bundle/ruby/2.4.0/gems/activesupport-5.1.6/lib/active_support/dependencies.rb:374:in `block in require_or_load' 来自 /Users/xxxxxx/.bundle/ruby/2.4.0/gems/activesupport-5.1.6/lib/active_support/dependencies.rb:36:in `block in load_interlock' 来自 /Users/xxxxxx/.bundle/ruby/2.4.0/gems/activesupport-5.1.6/lib/active_support/dependencies/interlock.rb:12:in `block in loading' 来自 /Users/xxxxxx/.bundle/ruby/2.4.0/gems/activesupport-5.1.6/lib/active_support/concurrency/share_lock.rb:149:in `exclusive' 来自 /Users/xxxxxx/.bundle/ruby/2.4.0/gems/activesupport-5.1.6/lib/active_support/dependencies/interlock.rb:11:in `loading' 来自 /Users/xxxxxx/.bundle/ruby/2.4.0/gems/activesupport-5.1.6/lib/active_support/dependencies.rb:36:in `load_interlock' 来自 /Users/xxxxxx/.bundle/ruby/2.4.0/gems/activesupport-5.1.6/lib/active_support/dependencies.rb:357:in `require_or_load' 来自 /Users/xxxxxx/.bundle/ruby/2.4.0/gems/activesupport-5.1.6/lib/active_support/dependencies.rb:511:in `load_missing_constant' 来自 /Users/xxxxxx/.bundle/ruby/2.4.0/gems/activesupport-5.1.6/lib/active_support/dependencies.rb:202:in `const_missing' 来自 /Users/xxxxxx/workspace/my-project/rails/test/factories/cloud/entries.rb:2:in `block in ' 来自 /Users/xxxxxx/.bundle/ruby/2.4.0/gems/factory_bot-4.10.0/lib/factory_bot/syntax/default.rb:49:in `instance_eval' 来自 /Users/xxxxxx/.bundle/ruby/2.4.0/gems/factory_bot-4.10.0/lib/factory_bot/syntax/default.rb:49:in `run' 来自 /Users/xxxxxx/.bundle/ruby/2.4.0/gems/factory_bot-4.10.0/lib/factory_bot/syntax/default.rb:7:in `define' 来自 /Users/xxxxxx/workspace/my-project/rails/test/factories/cloud/entries.rb:1:in `' 来自 /Users/xxxxxx/.bundle/ruby/2.4.0/gems/activesupport-5.1.6/lib/active_support/dependencies.rb:286:in `load' 来自 /Users/xxxxxx/.bundle/ruby/2.4.0/gems/activesupport-5.1.6/lib/active_support/dependencies.rb:286:in `block in load' 来自 /Users/xxxxxx/.bundle/ruby/2.4.0/gems/activesupport-5.1.6/lib/active_support/dependencies.rb:258:in `load_dependency' 来自 /Users/xxxxxx/.bundle/ruby/2.4.0/gems/activesupport-5.1.6/lib/active_support/dependencies.rb:286:in `load' 来自 /Users/xxxxxx/.bundle/ruby/2.4.0/gems/factory_bot-4.10.0/lib/factory_bot/find_definitions.rb:20:in `block (2 levels) in find_definitions' 来自 /Users/xxxxxx/.bundle/ruby/2.4.0/gems/factory_bot-4.10.0/lib/factory_bot/find_definitions.rb:19:in `each' 来自 /Users/xxxxxx/.bundle/ruby/2.4.0/gems/factory_bot-4.10.0/lib/factory_bot/find_definitions.rb:19:in `block in find_definitions' 来自 /Users/xxxxxx/.bundle/ruby/2.4.0/gems/factory_bot-4.10.0/lib/factory_bot/find_definitions.rb:15:in `each' 来自 /Users/xxxxxx/.bundle/ruby/2.4.0/gems/factory_bot-4.10.0/lib/factory_bot/find_definitions.rb:15:in `find_definitions' 来自 /Users/xxxxxx/.bundle/ruby/2.4.0/gems/factory_bot_rails-4.10.0/lib/factory_bot_rails/railtie.rb:21:in `block in' 来自 /Users/xxxxxx/.bundle/ruby/2.4.0/gems/activesupport-5.1.6/lib/active_support/lazy_load_hooks.rb:67:in `block in execute_hook' 来自 /Users/xxxxxx/.bundle/ruby/2.4.0/gems/activesupport-5.1.6/lib/active_support/lazy_load_hooks.rb:60:in `with_execution_control' 来自 /Users/xxxxxx/.bundle/ruby/2.4.0/gems/activesupport-5.1.6/lib/active_support/lazy_load_hooks.rb:65:in `execute_hook' 来自 /Users/xxxxxx/.bundle/ruby/2.4.0/gems/activesupport-5.1.6/lib/active_support/lazy_load_hooks.rb:50:in `block in run_load_hooks' 来自 /Users/xxxxxx/.bundle/ruby/2.4.0/gems/activesupport-5.1.6/lib/active_support/lazy_load_hooks.rb:49:in `each' 来自 /Users/xxxxxx/.bundle/ruby/2.4.0/gems/activesupport-5.1.6/lib/active_support/lazy_load_hooks.rb:49:in `run_load_hooks' 来自 /Users/xxxxxx/.bundle/ruby/2.4.0/gems/railties-5.1.6/lib/rails/application/finisher.rb:73:in `block in' 来自 /Users/xxxxxx/.bundle/ruby/2.4.0/gems/railties-5.1.6/lib/rails/initializable.rb:30:in `instance_exec' 来自 /Users/xxxxxx/.bundle/ruby/2.4.0/gems/railties-5.1.6/lib/rails/initializable.rb:30:in `run' 来自 /Users/xxxxxx/.bundle/ruby/2.4.0/gems/railties-5.1.6/lib/rails/initializable.rb:59:in `block in run_initializers' 来自 /Users/xxxxxx/.rbenv/versions/2.4.4/lib/ruby/2.4.0/tsort.rb:228:in `block in tsort_each' 来自 /Users/xxxxxx/.rbenv/versions/2.4.4/lib/ruby/2.4.0/tsort.rb:350:in `block (2 levels) in each_strongly_connected_component' 来自 /Users/xxxxxx/.rbenv/versions/2.4.4/lib/ruby/2.4.0/tsort.rb:431:in `each_strongly_connected_component_from' 来自 /Users/xxxxxx/.rbenv/versions/2.4.4/lib/ruby/2.4.0/tsort.rb:349:in `block in each_strongly_connected_component' 来自 /Users/xxxxxx/.rbenv/versions/2.4.4/lib/ruby/2.4.0/tsort.rb:347:in `each' 来自 /Users/xxxxxx/.rbenv/versions/2.4.4/lib/ruby/2.4.0/tsort.rb:347:in `call' 来自 /Users/xxxxxx/.rbenv/versions/2.4.4/lib/ruby/2.4.0/tsort.rb:347:in `each_strongly_connected_component' 来自 /Users/xxxxxx/.rbenv/versions/2.4.4/lib/ruby/2.4.0/tsort.rb:226:in `tsort_each' 来自 /Users/xxxxxx/.rbenv/versions/2.4.4/lib/ruby/2.4.0/tsort.rb:205:in `tsort_each' 来自 /Users/xxxxxx/.bundle/ruby/2.4.0/gems/railties-5.1.6/lib/rails/initializable.rb:58:in `run_initializers' 来自 /Users/xxxxxx/.bundle/ruby/2.4.0/gems/railties-5.1.6/lib/rails/application.rb:353:in `initialize!' 来自 /Users/xxxxxx/workspace/my-project/rails/config/environment.rb:5:in `' 来自 config.ru:3:in `require' 来自 config.ru:3:in `block in ' 来自 /Users/xxxxxx/.bundle/ruby/2.4.0/gems/rack-2.0.7/lib/rack/builder.rb:55:in `instance_eval' 来自 /Users/xxxxxx/.bundle/ruby/2.4.0/gems/rack-2.0.7/lib/rack/builder.rb:55:in `initialize' 来自 config.ru:in `new' 来自 config.ru:in `' 来自 /Users/xxxxxx/.bundle/ruby/2.4.0/gems/rack-2.0.7/lib/rack/builder.rb:49:in `eval' 来自 /Users/xxxxxx/.bundle/ruby/2.4.0/gems/rack-2.0.7/lib/rack/builder.rb:49:in `new_from_string' 来自 /Users/xxxxxx/.bundle/ruby/2.4.0/gems/rack-2.0.7/lib/rack/builder.rb:40:in `parse_file' 来自 /Users/xxxxxx/.bundle/ruby/2.4.0/gems/rack-2.0.7/lib/rack/server.rb:319:in `build_app_and_options_from_config' 来自 /Users/xxxxxx/.bundle/ruby/2.4.0/gems/rack-2.0.7/lib/rack/server.rb:219:in `app' 来自 /Users/xxxxxx/.bundle/ruby/2.4.0/gems/railties-5.1.6/lib/rails/commands/server/server_command.rb:24:in `app' 来自 /Users/xxxxxx/.bundle/ruby/2.4.0/gems/rack-2.0.7/lib/rack/server.rb:354:in `wrapped_app' 来自 /Users/xxxxxx/.bundle/ruby/2.4.0/gems/railties-5.1.6/lib/rails/commands/server/server_command.rb:80:in `log_to_stdout' 来自 /Users/xxxxxx/.bundle/ruby/2.4.0/gems/railties-5.1.6/lib/rails/commands/server/server_command.rb:42:in `start' 来自 /Users/xxxxxx/.bundle/ruby/2.4.0/gems/railties-5.1.6/lib/rails/commands/server/server_command.rb:135:in `block in perform' 来自 /Users/xxxxxx/.bundle/ruby/2.4.0/gems/railties-5.1.6/lib/rails/commands/server/server_command.rb:130:in `tap' 来自 /Users/xxxxxx/.bundle/ruby/2.4.0/gems/railties-5.1.6/lib/rails/commands/server/server_command.rb:130:in `perform' 来自 /Users/xxxxxx/.bundle/ruby/2.4.0/gems/thor-0.20.3/lib/thor/command.rb:27:in `run' 来自 /Users/xxxxxx/.bundle/ruby/2.4.0/gems/thor-0.20.3/lib/thor/invocation.rb:126:in `invoke_command' 来自 /Users/xxxxxx/.bundle/ruby/2.4.0/gems/thor-0.20.3/lib/thor.rb:387:in `dispatch' 来自 /Users/xxxxxx/.bundle/ruby/2.4.0/gems/railties-5.1.6/lib/rails/command/base.rb:63:in `perform' 来自 /Users/xxxxxx/.bundle/ruby/2.4.0/gems/railties-5.1.6/lib/rails/command.rb:44:in `invoke' 来自 /Users/xxxxxx/.bundle/ruby/2.4.0/gems/railties-5.1.6/lib/rails/commands.rb:16:in `' 从 bin/rails:4:in `require' 从 bin/rails:4:in `'
解决方案
需要通过执行命令bundle remove $DEPRECATED_GEMS在我的Gemfile.lock中删除/升级具有弃用关键字的gem 。
就我而言,很少有弃用的 gem,例如dbd_odbc、ruby_odbc
最初@itsnikolay 为我的问题提供了这个解决方案。
推荐阅读
- python - NumPy linalg.eigh 返回不正确的特征向量
- python - Atom linter-flake8 未能生成(不在 PATH 中)
- javascript - Javascript not operating on loaded elements
- php - Align php code left and right in html
- spring-batch - Running a spring batch with partitions in cloud foundry
- javascript - 使用 Zapier 代码计算字符串中的特定单词
- java - IBM MQ listener service - onMessage not getting triggered
- c++ - C++ Error when threading, std::invoke:
- ejs - 是否可以为 harpe js 参数调用另一个参数?
- r - 如何编写 R lapply 循环,以便如果循环超时,到目前为止生成的所有对象仍然存在于循环之外?