【问题标题】:uninitialized constant Mysql2::Client::REMEMBER_OPTIONS未初始化的常量 Mysql2::Client::REMEMBER_OPTIONS
【发布时间】:2012-08-26 05:12:20
【问题描述】:

我刚遇到一个uninitialized constanterror,我现在不知道。请保存我的一天。

我正在尝试同时使用 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

不要使用DMG文件安装mysql

然后:

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

现在一切正常。

感谢@BenjaminTan

【问题讨论】:

    标签: ruby-on-rails mysql2 nameerror


    【解决方案1】:

    您应该查看此链接,其中概述了nicely how to setup MySQL on Mountain Lion。正如OP提到的那样,主要的做法是依赖brew install而不是dmg文件。

    【讨论】:

    • 当然....../usr/local/mysql/bin/mysql Ver 14.14 Distrib 5.5.27, for osx10.6 (i386) using readline 5.1
    • 您的捆绑包已完成!使用bundle show [gemname]查看捆绑的gem的安装位置。---------------但它也是未初始化的常量
    • 有没有可能我用的是OSX10.8.1,而mysql只适用于OSX10.6?
    • 只需 brew install mysql > 不要使用 DMG 文件安装 mysql 然后: sudo gem install mysql2 --with-mysql-config=/usr/local/mysql/bin/mysql_config 现在一切正常.谢谢@BenjaminTan
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-17
    • 1970-01-01
    • 2011-12-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多