昨晚把 ubuntu 升级到了 12.04,结果全部项目都杯具了,运行时候 passenger 都是报错如下:
Error message:
libmysqlclient_r.so.16: cannot open shared object file: No such file or directory - /home/xguox/.rvm/gems/ruby-1.9.2-p290@rails/gems/mysql2-0.3.11/lib/mysql2/mysql2.so
百度谷歌也没找着办法,也试着自己 down 了 libmysqlclient.so.16 这个文件,依旧无果,有大神帮托下嚜?thx~
我以前也是 Ubuntu 用户,从 6.06 一直用到 8.10
基本上都是每次出新版本我第一时间就格式化 /
盘重灌系统,单独将 /home
挂在一个独立盘上,这样每次升级后重新准备 Ruby 环境,但是项目和资料都不会丢失,是不是最近几年的 Ubuntu 越发成熟了,大的版本升级直接 apt-get dist-upgrade
就真可以了?
把 /usr/lib 或者 /usr/local/lib 下的 mysql2.so link 到 /home/xguox/.rvm/gems/ruby-1.9.2-p290@rails/gems/mysql2-0.3.11/lib/mysql2/mysql2.so
你并不是缺少 libmysqlclient.so.16
或者 gem uninstall mysql2 && gem i mysql2
遇到这种情况把数据备份好,重装 mysql,重装 mysql2 gem
我 VPS 上用的还是 ubuntu 8。 另一台电脑上是 10.0 lts
现在吧 mbp 换成 mba,磁盘不够用了,懒得折腾 ubuntu 了 - -
楼主应该是在升级 12.04 以前 rvm 是正常工作的,升级以后就不正常了吧?
因为系统层的库升级了,但是用户态的还是由上个版本的编译出来了,还是建议重新编译一下 rvm 下的 ruby 及 gem 吧。
我以前用 virtualenv 也是这样的。
前几天碰到了同样的问题
试试gem uninstall mysql2
,gem install mysql2
好像是这命令,记不清了
总之就是把 mysql2 gem 重新装一下就好了