使用 rvm 在 Snow Leopard for Rails 3 上安装 mysql2 gem

Posted

技术标签:

【中文标题】使用 rvm 在 Snow Leopard for Rails 3 上安装 mysql2 gem【英文标题】:Install mysql2 gem on Snow Leopard for Rails 3 with rvm 【发布时间】:2011-05-16 21:13:18 【问题描述】:

我最近升级到 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”

我已将 gem 添加到我的 GemFile 中

来源“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。

有什么想法吗?

提前致谢!

【问题讨论】:

谢谢,这只是把我绊倒了。你节省了我很多时间。 【参考方案1】:

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

所以解决方法是

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

代替

适配器:mysql

哇!

【讨论】:

我遇到了同样的问题,感谢修复!!!我猜最初的错误消息可能不是最清楚的。 ;) 我已经打了大约 1000 次了。【参考方案2】:

如果你最近看到这个,那是因为 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'

【讨论】:

以上是关于使用 rvm 在 Snow Leopard for Rails 3 上安装 mysql2 gem的主要内容,如果未能解决你的问题,请参考以下文章

NSToolbar 在 Leopard 和 Snow Leopard 中看起来不同

如何将 Leopard 和 Snow Leopard 支持添加到 Lion Cocoa 应用程序?

Joomla 在 Mac OS X Snow Leopard 上使用默认 Apache

如何停止安装在 Mac Snow Leopard 上的 Jenkins?

如何让 RabbitMQ 在 Snow Leopard 64 位上运行?

在 Mac OSX Snow Leopard 上托管 Web 服务