我正在尝试捆绑rails-dbd-mysql,但它尝试安装旧的mysql gem而不是新的mysql2 gem。我需要做什么才能使其与 mysql2 一起工作?
最佳答案
如果您有兴趣深入研究源代码,可以通过修改 lib/dbd/Mysql.rb 来完成此操作。文件。具体来说:
begin
require 'rubygems'
gem 'mysql'
gem 'dbi'
rescue LoadError => e
end
require 'dbi'
require "mysql"
require "thread" # for Mutex
将 mysql
更改为 mysql2
并重新安装 gem。整个程序中可能有更多分散的内容,因此请执行“查找全部”以确保确定。
编辑: 您可以尝试在 build/rake_task_lib.rb文件。特别是这段代码:
DBD_GEM_DEP_MAP = {
'pg' => 'pg',
'mysql' => 'mysql', #change this to mysql2, or add mysql2 to the list
'sqlite' => 'sqlite-ruby',
'sqlite3' => 'sqlite3-ruby'
}
关于ruby-on-rails - Rails 3 - Rails-dbd-mysql gem 依赖于 mysql 而不是 mysql2,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10305478/