通过RubyMine 3.1运行开发环境时出现此错误。附加了mysql gem,它正在运行Bundler。
的Gemfile
gem "mysql", "2.8.1"
Gem使用以下方式安装:
gem install mysql -- --with-mysql-config=/usr/local/mysql/bin/mysql_config
=>启动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
端口= 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控制台和服务器。
答案 0 :(得分:3)
我和约翰·王谈过,他告诉我但是这个问题还在继续。
RubyMine是一个GUI,因此它不会选择在OS X中为终端定义的env设置。请参阅此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)
答案 1 :(得分:1)
刚遇到一个非常类似的问题:
脚本/控制台和脚本/服务器工作正常,但我的规格错误
未初始化的常量MysqlCompat :: MysqlRes
解决方案似乎是使用mysql2而不是mysql。不要忘记更改database.yml中的连接适配器