升级到ubuntu 12.04后无法在rails中运行我的服务器

时间:2012-04-29 05:24:32

标签: mysql ruby-on-rails ruby

我刚刚将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)

有什么帮助吗?

4 个答案:

答案 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 文件。它工作!