首页 > 解决方案 > Ruby on Rails 需要 libmysqlclient.so.20 但我有 21... 需要降级?

问题描述

启动我的 Rails 应用程序时,我得到:

1: from/home/tpollak/.rbenv/versions/2.5.3/lib/ruby/gems/2.5.0/gems/mysql2-0.5.2/lib/mysql2.rb:33:in `<top (required)>'
/home/tpollak/.rbenv/versions/2.5.3/lib/ruby/gems/2.5.0/gems/mysql2-0.5.2/lib/mysql2.rb:33:in `require': libmysqlclient.so.20: cannot open shared object file: No such file or directory - 
/home/tpollak/.rbenv/versions/2.5.3/lib/ruby/gems/2.5.0/gems/mysql2-0.5.2/lib/mysql2/mysql2.so (LoadError)

但是我有:

$ ll /home/tpollak/.rbenv/versions/2.5.3/lib/ruby/gems/2.5.0/gems/mysql2-0.5.2/lib/mysql2/
...
lrwxrwxrwx 1 root    root        43 jan  5 16:54 libmysqlclient.so.20 -> /usr/lib/x86_64-linux-gnu/libmysqlclient.so

和一系列ln -s指向:

-rwxr-xr-x 1 root root 7080072 okt 22 15:50 /usr/lib/x86_64-linux-gnu/libmysqlclient.so.21.1.18*

我是否必须降级libmysqlclient.so或定义较新版本的 gem?

标签: mysqlruby-on-railsrubyrubygems

解决方案


您是否尝试删除gem uninstall mysql2然后重新安装gem install mysql2它(或只是运行捆绑)。

如果这不起作用,那么你可以试试这个:https ://unix.stackexchange.com/questions/471788/error-while-loading-shared-libraries-libmysqlclient-so-20-cannot-open-shared-o


推荐阅读