我使用的是Ruby2.3,在gemfile中,我列出了mysql2 gem。但是当我尝试运行rake db:migrate时,我得到了以下结果:
/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,所有这些都无济于事。
我怎样才能解决这个问题?
发布于 2016-01-23 06:11:30
我最终用gem pristine --all解决了这个问题
发布于 2016-03-01 04:51:34
我已经用gem pristine mysql2和spring stop解决了这个问题。
发布于 2016-08-18 17:09:47
我也遇到过同样的问题。我安装了ruby 2.3.4,使用的是rails 4.6.2。
原因有两个,我使用的托管公司的支持团队帮助我解决了这个问题。
首先,默认情况下,安装的Ruby库链接到mysql2 1.8,而不是Ruby2
# 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配置进行编译。
以下是命令。
gem uninstall mysql2
gem install mysql2 -- --with-mysql-config=/usr/bin/mysql_config --with-opt-lib=/where/my/ruby22/lib_was_located/https://stackoverflow.com/questions/34536351
复制相似问题