我在 Ruby 2.3.4 上使用 Rails 5.2.0 连接到 MySQL(通过mysql2gem)和 DB2(通过ibm_dbgem)数据库。
当我尝试连接到 DB2 时,我得到:
Error loading the 'ibm_db' Active Record adapter. Missing a gem it depends on? cannot load such file -- arel/visitors/bind_visitor
和跟踪调用
ibm_db (4.0.0) lib/active_record/connection_adapters/ibm_db_adapter.rb:13:in'
其中包括
require 'arel/visitors/bind_visitor'
它当然看起来像是在尝试加载依赖项,但它无法加载。bundle install不返回错误。
我不确定如何检查 Bind_Visitors 模块是否安装正确,或者还有什么可能导致此错误。如果您需要查看任何日志或 Gemfile,请告诉我。
每个请求,连接方法。
配置/数据库.yml:
default: &default
adapter: mysql2
encoding: utf8
pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %>
socket: /var/run/mysqld/mysqld.sock
prms: &prms
adapter: ibm_db
encoding: utf8
pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } …Run Code Online (Sandbox Code Playgroud)