使用RubyMine的未初始化的常量MysqlCompat :: MysqlRes

时间:2011-03-21 23:45:40

标签: mysql ruby-on-rails rubymine

通过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

via Bundler 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控制台和服务器。

2 个答案:

答案 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)

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

  • OSX Leopard
  • MySQL 5.1
  • Rails 2.3.11

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

  

未初始化的常量MysqlCompat :: MysqlRes

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