【问题标题】:Ruby on Rails requires libmysqlclient.so.20 but I have 21... Downgrade required?Ruby on Rails 需要 libmysqlclient.so.20 但我有 21... 需要降级?
【发布时间】:2020-04-23 09:25:45
【问题描述】:

启动我的 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?

【问题讨论】:

    标签: mysql ruby-on-rails ruby rubygems


    【解决方案1】:

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

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

    【讨论】:

    • 我的意思是您可以在终端中通过命令安装 gem,例如“gem install gemname”,或者将其添加到 Gemfile 中并运行终端命令“bundle install”或只是“bundle”
    • 是的,现在我已经尝试了你的建议:~$ gem uninstall mysql2 选择要卸载的gem: 1. mysql2-0.5.2 2. mysql2-0.5.3 3. 所有版本> 1 成功卸载mysql2 -0.5.2 ~$ gem install mysql2-0.5.2 ERROR: could not find a valid gem 'mysql2-0.5.2' (>= 0) in any repository ~$ Execution trial给出了与以前相同的结果。
    猜你喜欢
    • 1970-01-01
    • 2018-12-09
    • 1970-01-01
    • 2014-12-25
    • 1970-01-01
    • 2015-10-05
    • 2011-05-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多