2012-08-26 29 views
1

我刚遇到一个uninitialized constant错误,我现在不知道,请保存我的一天。未初始化的常量Mysql2 :: Client :: REMEMBER_OPTIONS

我正在尝试使用mongodb & mysql2 .Mongodb很好。现在我想将mysql2 gem添加到我的项目中。

gem install mysql2 -- --srcdir=/usr/local/mysql/include --with-mysql-config=/usr/local/mysql/bin/mysql_config并将mysql2添加到Gemfile

当我重新启动服务器,它给了我这个错误:

/usr/local/lib/ruby/gems/1.9.1/gems/mysql2-0.3.11/lib/mysql2/client.rb:12:in `<class:Client>': uninitialized constant Mysql2::Client::REMEMBER_OPTIONS (NameError) 
    from /usr/local/lib/ruby/gems/1.9.1/gems/mysql2-0.3.11/lib/mysql2/client.rb:2:in `<module:Mysql2>' 
    from /usr/local/lib/ruby/gems/1.9.1/gems/mysql2-0.3.11/lib/mysql2/client.rb:1:in `<top (required)>' 
    from /usr/local/lib/ruby/gems/1.9.1/gems/mysql2-0.3.11/lib/mysql2.rb:10:in `require' 
    from /usr/local/lib/ruby/gems/1.9.1/gems/mysql2-0.3.11/lib/mysql2.rb:10:in `<top (required)>' 
    from /usr/local/lib/ruby/gems/1.9.1/gems/bundler-1.0.18/lib/bundler/runtime.rb:68:in `require' 
    from /usr/local/lib/ruby/gems/1.9.1/gems/bundler-1.0.18/lib/bundler/runtime.rb:68:in `block (2 levels) in require' 
    from /usr/local/lib/ruby/gems/1.9.1/gems/bundler-1.0.18/lib/bundler/runtime.rb:66:in `each' 
    from /usr/local/lib/ruby/gems/1.9.1/gems/bundler-1.0.18/lib/bundler/runtime.rb:66:in `block in require' 
    from /usr/local/lib/ruby/gems/1.9.1/gems/bundler-1.0.18/lib/bundler/runtime.rb:55:in `each' 
    from /usr/local/lib/ruby/gems/1.9.1/gems/bundler-1.0.18/lib/bundler/runtime.rb:55:in `require' 
    from /usr/local/lib/ruby/gems/1.9.1/gems/bundler-1.0.18/lib/bundler.rb:120:in `require' 
    from /Users/Liber/ktv/trunk/config/application.rb:11:in `<top (required)>' 
    from /usr/local/lib/ruby/gems/1.9.1/gems/railties-3.2.8/lib/rails/commands.rb:53:in `require' 
    from /usr/local/lib/ruby/gems/1.9.1/gems/railties-3.2.8/lib/rails/commands.rb:53:in `block in <top (required)>' 
    from /usr/local/lib/ruby/gems/1.9.1/gems/railties-3.2.8/lib/rails/commands.rb:50:in `tap' 
    from /usr/local/lib/ruby/gems/1.9.1/gems/railties-3.2.8/lib/rails/commands.rb:50:in `<top (required)>' 
    from script/rails:6:in `require' 
    from script/rails:6:in `<main>' 

我怎样才能解决这个家伙?谢谢。

<class:Client>': uninitialized constant Mysql2::Client::REMEMBER_OPTIONS (NameError) 

---------------------------解决方案--------------- -------------

只是

brew install mysql 

DO NOT use DMG file to install mysql

然后:

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

现在一切都OK。

感谢@BenjaminTan

回答

0

你应该看看这个链接,其中概述nicely how to setup MySQL on Mountain Lion。正如OP所提到的,主要起点是依靠brew install而不是dmg文件。

+0

当然....../usr/local/mysql/bin/mysql Ver 14.14 Distrib 5.5.27,用于osx10.6(i386)使用readline 5.1 – GSLiPt

+0

你的包已经完成了!使用'bundle show [gemname]'来查看绑定的gem的安装位置。-----------------但它也是未初始化的常量 – GSLiPt

+0

是否可以使用OSX10.8.1,但是mysql只适用于OSX10.6? – GSLiPt