1

通过 RubyMine 3.1 运行开发环境时出现此错误。mysql gem 已附加,它正在运行 Bundler。

宝石文件

gem "mysql",         "2.8.1"

宝石安装使用:

gem install mysql -- --with-mysql-config=/usr/local/mysql/bin/mysql_config

通过 Bundler 配置

=> 启动 WEBrick
=> Rails 2.3.10 应用程序开始于http://0.0.0.0:3000 [2011-03-21
13:36:43] INFO WEBrick 1.3.1
[2011-03-21 13:36:43 ] INFO ruby​​ 1.8.7
(2011-02-18) [i686-darwin10.7.1]
[2011-03-21 13:36:43] INFO
WEBrick::HTTPServer#start: pid=625
port=3000
=> 调用-d 分离
=> Ctrl-C 关闭服务器 /!\ FAILSAFE /!\ Mon Mar 21 13:36:46
-1000 2011 状态:500 内部服务器错误未初始化常量
MysqlCompat::MysqlRes

系统使用 RVM、gemset 和 ruby​​ 1.8.7、rails 2.3.10 和 mysql 5.5.10

我可以通过终端运行 Rails 控制台和服务器

ruby script/server
ruby script/console

问题似乎与仅尝试通过 RubyMine 运行 Rails 控制台和服务器有关。可能有一些小的配置设置我遗漏了并且没有看到。

RubyMine 被配置为使用来自 RVM 的 ruby​​ 和 gemset,它也被设置为忽略全局 gemset。

我见过的大多数解决方案都降级到 mysql 5.1,但这似乎不是真正的解决方案,因为我可以从终端完美地运行 Rails 控制台和服务器。

4

2 回答 2

3

我已经和 John Wang 谈过,他告诉我,但一直在处理这个问题。

RubyMine 是一个 GUI,因此它不会获取为 OS X 中的终端定义的环境设置。请参阅此 Jetbrains 文档以更好地了解其工作原理:http ://devnet.jetbrains.net/docs/DOC-1160

用于更改环境变量的工具的链接在上面的链接中是错误的。我使用了以下内容: http ://www.epikentros.net/Main/Mac_Software.html

您需要确保在终端(~/.profile 或 ~/.bash_profile)和 OS X GUI(使用上面链接中提供的工具)上都设置了 DYLD_LIBRARY_PATH(需要定义 mysql lib 目录此处)和 PATH(将已为终端定义的值复制到 OS X GUI)

这应该是诀窍。如果您有任何其他问题,请检查您是否使用相同的 MySQL 和 MySQL Gem 架构(i386 或 x86_64)

于 2011-07-12T02:00:33.127 回答
1

刚刚遇到一个非常相似的问题:

  • OSX 豹
  • MySQL 5.1
  • 导轨 2.3.11

脚本/控制台和脚本/服务器工作正常,但我的规格出错了

未初始化的常量 MysqlCompat::MysqlRes

解决方案似乎是使用 mysql2 而不是 mysql。不要忘记更改 database.yml 中的连接适配器

于 2011-03-23T02:25:41.117 回答