【发布时间】:2021-01-19 10:05:33
【问题描述】:
自从升级到 Ubuntu LTS 20.04(从 LTS 18)以来,我一直在使用更新版本的 MySQL(从 v5.7.3 到 8.0.16)。所有数据库和配置都已成功更新,但 MySQL2 gem 坚持尝试针对较旧版本的 libmysqlclient(libmysqlclient.so.20 而不是较新的 libmysqlclient.so.21)进行构建
我已经卸载并重新安装了 APT 包:mysql-server 和 libmysqlclient-dev,以及卸载并重新安装 MySQL2 gem,但没有任何效果。
正如您从下面的数据中看到的那样,它的链接似乎仍然不正确,我找不到让它链接到正确版本的方法。非常感谢任何帮助。
$ gem list mysql2
*** 本地宝石 ***
mysql2 (0.5.3)
$ mysql -v -u *** -p 输入密码: 欢迎使用 MySQL 监视器。命令以 ; 结尾或\g。 您的 MySQL 连接 ID 是 14 服务器版本:8.0.21-0ubuntu0.20.04.4 (Ubuntu)
$ RAILS_ENV=生产包 exec rails c
回溯(最近一次通话最后):
1:来自/home///shared/bundle/ruby/2.6.0/gems/mysql2-0.5.3/lib/mysql2.rb:36:in <top (required)>' /home/rails/kwai/shared/bundle/ruby/2.6.0/gems/mysql2-0.5.3/lib/mysql2.rb:36:in require': libmysqlclient. so.20:无法打开共享对象文件:没有这样的文件或目录 - /home/rails/kwai/shared/bundle/ruby/2.6.0/gems/mysql2-0.5.3/lib/mysql2/mysql2.so(LoadError )
$ ldd mysql2.so linux-vdso.so.1 (0x00007fffa3b5e000) libruby.so.2.6 => /home/***/.rvm/rubies/ruby-2.6.3/lib/libruby.so.2.6 (0x00007f8d4c92d000) libmysqlclient.so.20 => 未找到 libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f8d4c902000) libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f8d4c710000) libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007f8d4c6f4000) librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007f8d4c6e9000) libgmp.so.10 => /usr/lib/x86_64-linux-gnu/libgmp.so.10 (0x00007f8d4c663000) libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f8d4c65d000) libcrypt.so.1 => /lib/x86_64-linux-gnu/libcrypt.so.1 (0x00007f8d4c622000) libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f8d4c4d3000) /lib64/ld-linux-x86-64.so.2 (0x00007f8d4cecc000)
$ ls -l /usr/lib/x86_64-linux-gnu/libmy* -rw-r--r-- 1 根 9242056 8 月 4 日 12:39 /usr/lib/x86_64-linux-gnu/libmysqlclient.a lrwxrwxrwx 1 root root 20 Aug 4 12:39 /usr/lib/x86_64-linux-gnu/libmysqlclient.so -> libmysqlclient.so.21 lrwxrwxrwx 1 root root 25 Aug 4 12:39 /usr/lib/x86_64-linux-gnu/libmysqlclient.so.21 -> libmysqlclient.so.21.1.21 -rw-r--r-- 1 root root 7264264 8 月 4 日 12:39 /usr/lib/x86_64-linux-gnu/libmysqlclient.so.21.1.21
【问题讨论】:
标签: mysql ruby-on-rails ruby linux ubuntu-20.04