mysql2 gem 更新到 Ubuntu 16.04 后无法正常工作 - libmysqlclient.so.18

mysql2 gem not working after updating to Ubuntu 16.04 - libmysqlclient.so.18

更新前一切正常。 使用 ruby 1.9.3p392 和 RVM rails (3.2.12) 使用 MySQL 5.7.16 以及 Nginx 和 Unicorn

日志显示

LoadError: libmysqlclient.so.18: cannot open shared object file: No such file or directory - /home/bill/apps/xxx/shared/bundle/ruby/1.9.1/gems/mysql2-0.3.16/lib/mysql2/mysql2.so

我试过:

  1. uninstall/install mysql2 gem
  2. 运行 bundle install

没有任何效果。更新后有人遇到这个问题吗?

删除并重新安装 mysql2 gem。

我有同样的事情。从 Ubuntu 14 升级到 16,看到同样的错误。

为了修复它,我刚刚卸载了 mysql2 gem 并使用捆绑器重新安装了它。

  1. 卸载mysql2gem:

    $ bundle exec gem uninstall mysql2
    
  2. 重新安装 mysql2 gem:

    $ bundle install
    

原因是因为它必须在安装 gem 时安装本机扩展,而像升级 OS 1 个或多个版本这样的大型系统更改需要重建这些本机扩展。

希望对您有所帮助。