首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >mysql2 gem与MySQL5.6.19不兼容

mysql2 gem与MySQL5.6.19不兼容
EN

Stack Overflow用户
提问于 2014-06-26 07:47:05
回答 1查看 2.1K关注 0票数 1

我想在我的MacOSX10.9.3上运行一个rails应用程序,得到以下错误:

代码语言:javascript
复制
/Users/home/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/mysql2-0.3.16/lib/mysql2.rb:8:in `require': Incorrect MySQL client library version! This gem was compiled for 5.5.23 but the client library is 5.6.19. (RuntimeError)
    from /Users/home/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/mysql2-0.3.16/lib/mysql2.rb:8:in `<top (required)>'
    from /Users/home/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/bundler-1.6.3/lib/bundler/runtime.rb:76:in `require'
    from /Users/home/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/bundler-1.6.3/lib/bundler/runtime.rb:76:in `block (2 levels) in require'
    from /Users/home/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/bundler-1.6.3/lib/bundler/runtime.rb:72:in `each'
    from /Users/home/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/bundler-1.6.3/lib/bundler/runtime.rb:72:in `block in require'
    from /Users/home/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/bundler-1.6.3/lib/bundler/runtime.rb:61:in `each'
    from /Users/home/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/bundler-1.6.3/lib/bundler/runtime.rb:61:in `require'
    from /Users/home/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/bundler-1.6.3/lib/bundler.rb:132:in `require'
    from /Users/home/workSpace/RubyOnRails/simple_cms/config/application.rb:7:in `<top (required)>'
    from /Users/home/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/railties-4.1.1/lib/rails/commands/commands_tasks.rb:79:in `require'
    from /Users/home/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/railties-4.1.1/lib/rails/commands/commands_tasks.rb:79:in `block in server'
    from /Users/home/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/railties-4.1.1/lib/rails/commands/commands_tasks.rb:76:in `tap'
    from /Users/home/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/railties-4.1.1/lib/rails/commands/commands_tasks.rb:76:in `server'
    from /Users/home/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/railties-4.1.1/lib/rails/commands/commands_tasks.rb:40:in `run_command!'
    from /Users/home/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/railties-4.1.1/lib/rails/commands.rb:17:in `<top (required)>'
    from bin/rails:8:in `require'
    from bin/rails:8:in `<main>'

我用hombrew安装了mysql,它运行得很好。我也用rbenv。

代码语言:javascript
复制
gem 'rails', '4.1.1'
gem 'mysql2'

这是我的databas.yml文件

代码语言:javascript
复制
development:
  adapter: mysql2
  encoding: utf8
  database: simple_cms_development
  pool: 5
  username: root
  password: somepassword
  socket: /tmp/mysql.sock

test:
  adapter: mysql2
  encoding: utf8
  database: simple_cms_test
  pool: 5
  username: root
  password: somepassword
  socket: /tmp/mysql.sock

production:
  adapter: mysql2
  encoding: utf8
  database: simple_cms_production
  pool: 5
  username: root
  password: somepassword
  socket: /tmp/mysql.sock

我该怎么解决呢?

EN

回答 1

Stack Overflow用户

发布于 2014-06-26 08:36:40

标头

我建议使用mysql C-connector (注释中推荐的答案证实了这一点)

我们编写了一个关于如何做到这一点的tutorial (对于典型的unable to build native extensions错误),但想法是相同的。

--

C-连接器

基本上,您的gem只需要与您的系统接口;它不需要做任何事-购买发送查询&处理对数据库的响应

这意味着,如果您对mysql版本的兼容性有问题,最好安装和使用单独的一批header文件(用于gem):

这样做的方法是files -重要-获取32位版本(您可以使用安装程序或解压缩文件) 安装完之后,应该使用以下命令安装gem: gem install mysql2 --platform=ruby -- ‘--with-mysql-dir="YOUR_MYSQL_DIR”’

这将为您安装gem,这将允许您与MYSQL服务器进行接口。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24425059

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档