【发布时间】:2011-08-16 16:56:15
【问题描述】:
问题已解决: MySQL 2.8.1 Gem 不能很好地与 MySQL 5.5.x 配合使用
解决方案是卸载 MySQL(使用可用的说明 here)。然后使用 MySQL.com 的 x86_64 安装程序安装 MySQL 5.1.56
我按照以下建议重置了我的 .rvm 文件夹权限,然后根据 RVM 站点上的说明安装了 MySQL gem。
成功了!
原问题:
我正在跑步:
- Core2Duo 64 位 Macbook Air 上的 OSX 10.6.7
- RVM 1.6.5
- ruby 1.8.7 (2011-02-18 patchlevel 334) [i686-darwin10.7.0], MBARI 0x6770, Ruby Enterprise Edition 2011.03 / Mach-O 64-bit executable x86_64 (此 Ruby 版本设置为 --default )
- MySQL 5.5.11 / Mach-O 64 位可执行 x86_64(使用 MySQL.com DMG 安装程序安装)
我尝试使用网络上的每个命令安装 MySQL gem。运行rake db:migrate 会产生错误uninitialized constant MysqlCompat::MysqlRes
以下安装命令的结果都是uninitialized constant MysqlCompat::MysqlRes
rvmsudo gem install mysql -- --with-mysql-config=/usr/local/mysql/bin/mysql_configsudo env ARCHFLAGS="-arch x86_64" rvmsudo gem install mysql -- --with-mysql-config=/usr/local/mysql/bin/mysql_configsudo env ARCHFLAGS="-arch x86_64" rvmsudo gem install mysql -- --with-mysql-dir=/usr/local/mysql --with-mysql-lib=/usr/local/mysql/lib --with-mysql-include=/usr/local/mysql/include
而且这些命令甚至都没有安装。我刚收到这个错误:Permission denied - /Users/Jake/.rvm/gems/ree-1.8.7-2011.03/gems/mysql-2.8.1/COPYING
gem install mysql -- --with-mysql-config=/usr/local/mysql/bin/mysql_config-
env ARCHFLAGS="-arch x86_64" gem install mysql -- --with-mysql-config=/usr/local/mysql/bin/mysql_config sudo env ARCHFLAGS="-arch x86_64" gem install mysql -- --with-mysql-config=/usr/local/mysql/bin/mysql_configsudo env ARCHFLAGS="-arch x86_64" gem install mysql -- --with-mysql-dir=/usr/local/mysql --with-mysql-lib=/usr/local/mysql/lib --with-mysql-include=/usr/local/mysql/include
我也将rvm_archflags="-arch x86_64" 放入~/.rvmrc。没有效果。
我已经内爆了 RVM 并从头开始了两次。我也卸载并重新安装了 MySQL。
我做错了什么?我还能尝试什么?感谢您的帮助!
【问题讨论】:
-
"未初始化的常量 MysqlCompat::MysqlRes" 有点像你的 database.yml 文件不正确的味道。我怀疑这是因为它定义了您的数据库类型(MySQL、Postgresql 等)。Rails 应该读取该信息并自动使用正确的 gem,它应该自动包含
MysqlCompat::MysqlRes常量。