我刚刚将ubuntu从11.10升级到12.04,之后当我在我的rails项目中运行我的服务器时出现了这个错误
$ rails s
/usr/share/ruby-rvm/gems/ruby-1.9.3-p125/gems/mysql2-0.3.11/lib/mysql2.rb:9:in `require':
libmysqlclient_r.so.16: cannot open shared object file: No such file or directory -
/usr/share/ruby-rvm/gems/ruby-1.9.3-p125/gems/mysql2-0.3.11/lib/mysql2/mysql2.so (LoadError)
有什么帮助吗?
答案 0 :(得分:25)
转到您的项目并按照步骤
rvm gemset empty <gemset name>
gem install bundler
bundle install
它将解决您的问题。
如果不起作用,或者您没有使用rvm,请使用
gem uninstall mysql2
bundle install
来自你的一个使用Rails项目的mysql2。
答案 1 :(得分:2)
我跟踪了他发布的Babak's instruction,并在经过一些小改动后发挥了作用。
我的系统是Ubuntu 12.04服务器,它安装了Ruby1.9.3所以我这样做了
sudo apt-get install mysql-server libmysqlclient-dev
似乎libmysqlclient16-dev现在在Ubuntu 12.04中重命名为libmysqlclient-dev
之后我跑了
gem install mysql2
答案 2 :(得分:1)
好吧,我建议仔细检查ruby和rails版本,并确保它们与你创建的项目相同。也许您必须使用rvm更改版本:
rvm use 'Version'
也许您可以再次卸载并重新安装mysql软件包,也可以尝试安装:
sudo apt-get install mysql-client mysql-server libmysqlclient16-dev
或
sudo apt-get install mysql-client mysql-server libmysqlclient-dev
还尝试卸载并重新安装mysql gem。 This blog post也有一个解决此错误的方法,尽管错误是在不同的时间造成的。
答案 3 :(得分:0)
对我来说,没有任何工作。然后我找到this并尝试删除并再次创建database.yml 文件。它工作!