mysql - 不正确的 MySQL 客户端库版本!这个 gem 是为 5.5.37 编译的,但客户端库是 5.6.25

标签 mysql ruby-on-rails rubygems rails-migrations ubuntu-15.04

<分区>

我将我的 Ubuntu 从 2014.04 升级到 2015.04,现在 bundle exec rake db:migrate 返回错误:

$ bundle exec rake db:migrate --trace
rake aborted!
Incorrect MySQL client library version! This gem was compiled for 5.5.37 but the client library is 5.6.25.
/home/nico/.rvm/gems/ruby-1.9.3-p362/gems/mysql2-0.2.11/lib/mysql2.rb:9:in `require'
/home/nico/.rvm/gems/ruby-1.9.3-p362/gems/mysql2-0.2.11/lib/mysql2.rb:9:in `<top (required)>'
/home/nico/.rvm/gems/ruby-1.9.3-p362@global/gems/bundler-1.2.3/lib/bundler/runtime.rb:68:in `require'
/home/nico/.rvm/gems/ruby-1.9.3-p362@global/gems/bundler-1.2.3/lib/bundler/runtime.rb:68:in `block (2 levels) in require'
/home/nico/.rvm/gems/ruby-1.9.3-p362@global/gems/bundler-1.2.3/lib/bundler/runtime.rb:66:in `each'
/home/nico/.rvm/gems/ruby-1.9.3-p362@global/gems/bundler-1.2.3/lib/bundler/runtime.rb:66:in `block in require'
/home/nico/.rvm/gems/ruby-1.9.3-p362@global/gems/bundler-1.2.3/lib/bundler/runtime.rb:55:in `each'
/home/nico/.rvm/gems/ruby-1.9.3-p362@global/gems/bundler-1.2.3/lib/bundler/runtime.rb:55:in `require'
/home/nico/.rvm/gems/ruby-1.9.3-p362@global/gems/bundler-1.2.3/lib/bundler.rb:128:in `require'
/home/nico/myapp/config/application.rb:7:in `<top (required)>'
/home/nico/myapp/Rakefile:4:in `require'
/home/nico/myapp/Rakefile:4:in `<top (required)>'
/home/nico/.rvm/gems/ruby-1.9.3-p362@global/gems/rake-10.0.3/lib/rake/rake_module.rb:25:in `load'
/home/nico/.rvm/gems/ruby-1.9.3-p362@global/gems/rake-10.0.3/lib/rake/rake_module.rb:25:in `load_rakefile'
/home/nico/.rvm/gems/ruby-1.9.3-p362@global/gems/rake-10.0.3/lib/rake/application.rb:583:in `raw_load_rakefile'
/home/nico/.rvm/gems/ruby-1.9.3-p362@global/gems/rake-10.0.3/lib/rake/application.rb:89:in `block in load_rakefile'
/home/nico/.rvm/gems/ruby-1.9.3-p362@global/gems/rake-10.0.3/lib/rake/application.rb:160:in `standard_exception_handling'
/home/nico/.rvm/gems/ruby-1.9.3-p362@global/gems/rake-10.0.3/lib/rake/application.rb:88:in `load_rakefile'
/home/nico/.rvm/gems/ruby-1.9.3-p362@global/gems/rake-10.0.3/lib/rake/application.rb:72:in `block in run'
/home/nico/.rvm/gems/ruby-1.9.3-p362@global/gems/rake-10.0.3/lib/rake/application.rb:160:in `standard_exception_handling'
/home/nico/.rvm/gems/ruby-1.9.3-p362@global/gems/rake-10.0.3/lib/rake/application.rb:70:in `run'
/home/nico/.rvm/gems/ruby-1.9.3-p362@global/gems/rake-10.0.3/bin/rake:33:in `<top (required)>'
/home/nico/.rvm/gems/ruby-1.9.3-p362@global/bin/rake:19:in `load'
/home/nico/.rvm/gems/ruby-1.9.3-p362@global/bin/rake:19:in `<main>'
/home/nico/.rvm/gems/ruby-1.9.3-p362/bin/ruby_noexec_wrapper:14:in `eval'
/home/nico/.rvm/gems/ruby-1.9.3-p362/bin/ruby_noexec_wrapper:14:in `<main>'

如何解决这个问题?
我宁愿避免更改服务器端版本。

答案在 I can't run "bundle update" because of "mysql2" gem不解决问题。

本地版本:

  • gem 2.4.8
  • rails 3.0.19
  • mysql 版本 14.14 分发版 5.6.25

最佳答案

运行这些命令解决了问题:

gem uninstall mysql2
bundle install

关于mysql - 不正确的 MySQL 客户端库版本!这个 gem 是为 5.5.37 编译的,但客户端库是 5.6.25,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31695110/

相关文章:

ruby-on-rails - 在部署时修改 erb 文件

ruby-on-rails - 在 jruby 上安装 gem

mysql - 从 has_one 关联中调用一个值

php - mysqli_prepare 查询返回 false

ruby-on-rails - 运行单个迁移文件

ruby-on-rails - postgresql 计算每个年龄组的库存数量

mysql - 为什么 mysql_num_rows 返回零?

php - 在 mySQL 上设置用户帐户

mysql - 无法在/usr/local/bin/mysql_config执行mysql_config

ruby-on-rails - 无法加载在 Rails 控制台中使用 bundler 安装的 gem