mysql - 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?
解决方案
您是否尝试删除gem uninstall mysql2
然后重新安装gem install mysql2
它(或只是运行捆绑)。
如果这不起作用,那么你可以试试这个:https ://unix.stackexchange.com/questions/471788/error-while-loading-shared-libraries-libmysqlclient-so-20-cannot-open-shared-o
推荐阅读
- python - 从列表列表中获取包含最小值的列表
- regex - 只有在前面的字符不是点时才可以(在 sed 中)删除换行符?
- node.js - 关于 Angular 中使用 XLSX 的单元格样式
- html - 更改嵌入式谷歌文档的大小
- c# - 如果少于 4 位,C# double.ToString("F4") 没有填充?
- maven - Maven 测试未创建诱惑结果
- kotlin - 如何将地图转换为地图kotlin
- linux - 修改内存配置寄存器
- c - 什么是 getservbyname() — 我理解对了吗?
- python - Python 3 中套接字子类中的 WinError 10038