31

我最近升级到 Rails 3 并使用 Rails 3.0.3 创建了一个新应用程序,但我一直收到错误

Macintosh:$ 导轨服务器
=> 启动 WEBrick
=> Rails 3.0.3 应用程序开始在 http://0.0.0.0:3000 上开发
=> 使用 -d 调用以分离
=> Ctrl-C 关闭服务器
[2010-11-28 11:32:47] INFO WEBrick 1.3.1
[2010-11-28 11:32:47] 信息 ruby​​ 1.8.7 (2010-04-19) [i686-darwin10.4.0]
[2010-11-28 11:32:47] 信息 WEBrick::HTTPServer#start: pid=1055 端口=3000


2010 年 11 月 28 日星期日 11:32:52 +0000 开始为 127.0.0.1 获取“/”

RuntimeError(!!!缺少 mysql2 gem。将其添加到您的 Gemfile:gem 'mysql2'):


我有一台 64 位机器。错误仅在文档上,看起来 gem 已正确安装。

Macintosh:$ env ARCHFLAGS="-arch i386" gem install mysql2 -- --with-mysql-config=/usr/local/mysql/bin/mysql_config
构建原生扩展。这可能需要一段时间...
成功安装mysql2-0.2.6
已安装 1 个宝石
正在为 mysql2-0.2.6 安装 ri 文档...
为未知的类客户端封闭类/模块“mMysql2”
为 mysql2-0.2.6 构建 YARD (yri) 索引...
为 mysql2-0.2.6 安装 RDoc 文档...
为未知的类客户端封闭类/模块“mMysql2”

我在我的 GemFile 中添加了 gem

来源“http://rubygems.org”

宝石'导轨','3.0.3'
宝石'mysql2'
gem 'sqlite3-ruby', :require => 'sqlite3'

我的 GemFile.lock 看起来像这样

宝石
  远程:http://rubygems.org/
  眼镜:
    摘要 (1.0.0)
    actionmailer (3.0.3)
      动作包(= 3.0.3)
      邮件 (~> 2.2.9)
    动作包 (3.0.3)
      活动模型(= 3.0.3)
      主动支持 (= 3.0.3)
      建造者 (~> 2.1.2)
      厄鲁比斯 (~> 2.6.6)
      i18n (~> 0.4)
      机架 (~> 1.2.1)
      机架安装 (~> 0.6.13)
      机架测试(~> 0.5.6)
      tzinfo (~> 0.3.23)
    活动模型(3.0.3)
      主动支持 (= 3.0.3)
      建造者 (~> 2.1.2)
      i18n (~> 0.4)
    活动记录(3.0.3)
      活动模型(= 3.0.3)
      主动支持 (= 3.0.3)
      雷尔 (~> 2.0.2)
      tzinfo (~> 0.3.23)
    活动资​​源(3.0.3)
      活动模型(= 3.0.3)
      主动支持 (= 3.0.3)
    主动支持 (3.0.3)
    雷尔 (2.0.4)
    建设者(2.1.2)
    厄鲁比斯 (2.6.6)
      摘要 (>= 1.0.0)
    i18n (0.4.1)
    邮件 (2.2.10)
      主动支持 (>= 2.3.6)
      i18n (~> 0.4.1)
      哑剧类型 (~> 1.16)
      树顶 (~> 1.4.8)
    哑剧类型 (1.16)
    mysql2 (0.2.6)
    多语言 (0.3.1)
    机架 (1.2.1)
    机架式 (0.6.13)
      机架 (>= 1.0.0)
    机架测试(0.5.6)
      机架 (>= 1.0)
    导轨 (3.0.3)
      行动邮件程序(= 3.0.3)
      动作包(= 3.0.3)
      活动记录(= 3.0.3)
      活动资​​源(= 3.0.3)
      主动支持 (= 3.0.3)
      捆绑器 (~> 1.0)
      轨道(= 3.0.3)
    铁路(3.0.3)
      动作包(= 3.0.3)
      主动支持 (= 3.0.3)
      耙子 (>= 0.8.7)
      雷神 (~> 0.14.4)
    耙子 (0.8.7)
    sqlite3-ruby (1.2.4)
    雷神 (0.14.6)
    树梢 (1.4.9)
      多语言 (>= 0.3.1)
    tzinfo (0.3.23)

平台
  红宝石

依赖项
  mysql2
  导轨(= 3.0.3)
  sqlite3-红宝石

宝石清单

Macintosh:$ 宝石列表

*** 当地宝石 ***

摘要 (1.0.0)
actionmailer (3.0.3)
动作包 (3.0.3)
活动模型(3.0.3)
活动记录(3.0.3)
活动资​​源(3.0.3)
主动支持 (3.0.3)
act_as_ferret (0.4.4)
雷尔 (2.0.4)
生成器(3.0.0、2.1.2)
捆绑器 (1.0.7)
卡皮斯特拉诺 (2.5.9)
dnssd (1.3)
厄鲁比斯 (2.6.6)
快速线程(1.0.7)
gnuplot (2.2)
高线(1.6.1、1.5.1)
hpricot (0.8.1)
i18n (0.4.2, 0.4.1)
libxml-ruby (1.1.3)
线缓存(0.43)
邮件 (2.2.10)
内存缓存客户端(1.8.5、1.7.6)
内存缓存(0.17.5)
哑剧类型 (1.16)
mysql2 (0.2.6)
net-scp (1.0.4, 1.0.2)
网络 sftp (2.0.5, 2.0.2)
网络 SSH (2.0.23, 2.0.15)
网络 ssh 网关 (1.0.1)
多语言 (0.3.1)
机架(1.2.1、1.0.1、1.0.0)
机架式 (0.6.13)
机架测试(0.5.6)
导轨 (3.0.3)
铁路(3.0.3)
耙子 (0.8.7, 0.8.4)
rcov (0.9.9, 0.9.8)
rdoc (2.5.11)
红布 (4.2.2)
rmagick (2.12.2)
红宝石调试基础(0.10.3)
ruby-debug-ide (0.4.5)
rubygems 更新(1.3.7、1.3.5、1.3.3)
转速 (1.1.1)
sqlite3-ruby (1.3.2, 1.2.4)
测试规范 (0.10.0)
文本格式 (1.0.0)
文本连字符 (1.0.0)
雷神 (0.14.6)
树梢 (1.4.9)
tzinfo (0.3.23)
码 (0.5.8)

我的 Mysql 已启动并正在运行:

Macintosh:$ mysql -uroot
欢迎使用 MySQL 监视器。命令以 ; 结尾 或\g。
您的 MySQL 连接 ID 为 1
服务器版本:5.1.53 MySQL 社区服务器(GPL)

版权所有 (c) 2000、2010,Oracle 和/或其附属公司。版权所有。
该软件附带绝对没有保证。这是免费软件,
欢迎您在 GPL v2 许可下修改和重新分发它

输入“帮助”;或 '\h' 寻求帮助。键入 '\c' 以清除当前输入语句。

mysql>

这就是我在全新应用程序中的全部内容,但我仍然遇到缺少 mysql2 gem 的问题。

我安装了 X Code 3.2.4 的 Snow Leopard 10.6.5。

任何的想法?

提前致谢!

4

2 回答 2

89

我实际上在我的 database.yml 上设置了错误的适配器

所以修复是

发展:
  适配器:mysql2
  数据库:development_database
  用户名:root
  密码:

代替

适配器:mysql

嗬!

于 2010-11-28T15:04:46.090 回答
5

如果你最近看到这个,那是因为 mysql2 0.3 删除了 ActiveRecord 适配器,它现在是 Rails 3.1 的一部分

WARNING: This version of mysql2 (0.3.2) doesn't ship with the ActiveRecord adapter bundled anymore as it's now part of Rails 3.1
WARNING: Please use the 0.2.x releases if you plan on using it in Rails <= 3.0.x

如果您使用的是 Rails 3.0.x,请相应地调整您的 Gemfile

gem 'mysql2', '~> 0.2.6'
于 2011-05-30T03:16:50.967 回答