如何在 OS X 上使用 ruby 2.3 解决 "incompatible library version" for mysql2 gem?
How do I resolve "incompatible library version" for mysql2 gem with ruby 2.3 on OS X?
我正在使用 ruby 2.3,在 gem 文件中,我列出了 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 安装了 Mysql 5.7,尝试更新包,卸载并重新安装 mysql2 gem,但都无济于事。
如何解决这个问题?
我最终用 gem pristine --all
解决了这个问题
我已经用 gem pristine mysql2
然后 spring stop
解决了这个问题。
我遇到了同样的问题。我安装了 ruby 2.3.4 并使用 rails 4.6.2.
有两个问题的原因,我使用的托管公司的支持团队帮助我解决了这个问题。
首先是安装的 mysql2 库默认链接到 ruby 1.8 而不是 ruby 2
# lld ../2.2.0/mysql2-0.4.4/mysql2/mysql2.so
...
...
libruby.so.1.8 => /usr/lib64/libruby.so.1.8 (0x00007f2af1f8a000)
...
第二个问题是使用安装的 mysql 服务器配置编译库
因此 mysql2 gem 必须卸载并使用正确的 ruby 库重新安装并使用正确的 mysql 配置进行编译。
命令如下。
gem uninstall mysql2
gem install mysql2 -- --with-mysql-config=/usr/bin/mysql_config --with-opt-lib=/where/my/ruby22/lib_was_located/
我在移动到 Ubuntu 16.04
时遇到了这个问题
以下方法成功了
sudo apt-get install g++
sudo apt-get install build-essential
运行 sudo gem pristine mysql2 对我不起作用。
我不得不卸载并重新安装 mysql2 gem。
唯一对我有用的是
gem 安装 nokogiri -v 1.10.2
之后就好了
我正在使用 ruby 2.3,在 gem 文件中,我列出了 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 安装了 Mysql 5.7,尝试更新包,卸载并重新安装 mysql2 gem,但都无济于事。
如何解决这个问题?
我最终用 gem pristine --all
我已经用 gem pristine mysql2
然后 spring stop
解决了这个问题。
我遇到了同样的问题。我安装了 ruby 2.3.4 并使用 rails 4.6.2.
有两个问题的原因,我使用的托管公司的支持团队帮助我解决了这个问题。
首先是安装的 mysql2 库默认链接到 ruby 1.8 而不是 ruby 2
# lld ../2.2.0/mysql2-0.4.4/mysql2/mysql2.so
...
...
libruby.so.1.8 => /usr/lib64/libruby.so.1.8 (0x00007f2af1f8a000)
...
第二个问题是使用安装的 mysql 服务器配置编译库
因此 mysql2 gem 必须卸载并使用正确的 ruby 库重新安装并使用正确的 mysql 配置进行编译。
命令如下。
gem uninstall mysql2
gem install mysql2 -- --with-mysql-config=/usr/bin/mysql_config --with-opt-lib=/where/my/ruby22/lib_was_located/
我在移动到 Ubuntu 16.04
时遇到了这个问题以下方法成功了
sudo apt-get install g++
sudo apt-get install build-essential
运行 sudo gem pristine mysql2 对我不起作用。
我不得不卸载并重新安装 mysql2 gem。
唯一对我有用的是
gem 安装 nokogiri -v 1.10.2
之后就好了