首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何解决在OS X上使用Ruby2.3的mysql2 gem的“不兼容的库版本”?

问如何解决在OS X上使用Ruby2.3的mysql2 gem的“不兼容的库版本”?
EN

Stack Overflow用户
提问于 2015-12-31 03:56:53
回答 6查看 16K关注 0票数 29

我使用的是Ruby2.3,在gemfile中,我列出了mysql2 gem。但是当我尝试运行rake db:migrate时,我得到了以下结果:

代码语言:javascript
复制
/Users/me/.gem/ruby/2.3.0/gems/mysql2-0.4.2/lib/mysql2.rb:31:in `require': incompatible library version - /Users/me/.gem/ruby/2.3.0/gems/mysql2-0.4.2/lib/mysql2/mysql2.bundle (fatal)

我似乎绕不开这个问题。我已经用Homebrew安装了MySQL5.7,尝试更新捆绑包,卸载并重新安装mysql2 gem,所有这些都无济于事。

我怎样才能解决这个问题?

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2016-01-23 06:11:30

我最终用gem pristine --all解决了这个问题

票数 50
EN

Stack Overflow用户

发布于 2016-03-01 04:51:34

我已经用gem pristine mysql2和spring stop解决了这个问题。

票数 8
EN

Stack Overflow用户

发布于 2016-08-18 17:09:47

我也遇到过同样的问题。我安装了ruby 2.3.4,使用的是rails 4.6.2。

原因有两个,我使用的托管公司的支持团队帮助我解决了这个问题。

首先,默认情况下,安装的Ruby库链接到mysql2 1.8,而不是Ruby2

代码语言:javascript
复制
# lld ../2.2.0/mysql2-0.4.4/mysql2/mysql2.so
... 
...
libruby.so.1.8 => /usr/lib64/libruby.so.1.8 (0x00007f2af1f8a000)
...

第二个问题是使用已安装的mysql服务器配置编译lib

所以mysql gem必须卸载并使用正确的ruby库重新安装,并使用正确的mysql2配置进行编译。

以下是命令。

代码语言:javascript
复制
gem uninstall mysql2
gem install mysql2 -- --with-mysql-config=/usr/bin/mysql_config --with-opt-lib=/where/my/ruby22/lib_was_located/
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34536351

复制
相关文章

相似问题

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