【发布时间】:2011-10-11 15:10:56
【问题描述】:
我正在处理的问题如下。我已经安装了一个全新的 ruby 环境。在我当前的项目中,我想使用以下 gem:
RAILS_VERSION = '~> 3.0.4'
DM_VERSION = '~> 1.1.0'
gem 'rails', '3.0.9'
# Database & ORM
gem 'mysql2', '< 0.3'
gem 'data_mapper', DM_VERSION
gem 'dm-mysql-adapter', DM_VERSION
gem 'dm-rails', DM_VERSION
# Authentication
gem 'devise'
gem 'dm-devise'
我有以下database.yml:
defaults: &defaults
adapter: mysql2
encoding: utf8
reconnect: false
pool: 5
username: blabla
password: albalb
host: localhost
socket: /tmp/mysql.sock
执行“捆绑安装”不会导致任何类型的错误。但是一旦我想对数据库做一些事情(比如“rails s”或“rake db:migrate”),就会发生以下错误:
/Users/Gery/.rvm/gems/ruby-1.8.7-p352/gems/activesupport-3.0.9/lib/active_support/dependencies.rb:239:in `require': no such file to load -- dm-mysql2-adapter (LoadError)
from /Users/Gery/.rvm/gems/ruby-1.8.7-p352/gems/activesupport-3.0.9/lib/active_support/dependencies.rb:239:in `require'
from /Users/Gery/.rvm/gems/ruby-1.8.7-p352/gems/activesupport-3.0.9/lib/active_support/dependencies.rb:225:in `load_dependency'
from /Users/Gery/.rvm/gems/ruby-1.8.7-p352/gems/activesupport-3.0.9/lib/active_support/dependencies.rb:596:in `new_constants_in'
from /Users/Gery/.rvm/gems/ruby-1.8.7-p352/gems/activesupport-3.0.9/lib/active_support/dependencies.rb:225:in `load_dependency'
from /Users/Gery/.rvm/gems/ruby-1.8.7-p352/gems/activesupport-3.0.9/lib/active_support/dependencies.rb:239:in `require'
你知道如何解决这个问题吗?
最好的问候,
杰拉尔多
【问题讨论】:
-
如果我使用适配器'mysql',那么在执行与数据库相关的任务时会出现以下运行时错误:!!!缺少 mysql2 gem。将其添加到您的 Gemfile:gem 'mysql2' -
-
当我从 database.yml 中删除 mysql2 但忘记从我的 Gemfile 中删除时,我得到了同样的错误。错误本身非常具有误导性! ;) 因此,请确保在 database.yml 和 Gemfile 中都将其替换为
mysql。
标签: ruby-on-rails configuration rubygems