17

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

4 回答 4

25

转到您的项目并按照步骤操作,

rvm gemset empty <gemset name>
gem install bundler
bundle install

它会解决你的问题。

如果这不起作用,或者如果您没有使用 rvm,请使用

gem uninstall mysql2
bundle install

从您使用 mysql2 的 Rails 项目目录之一。

于 2012-04-29T05:37:47.350 回答
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。这篇博客文章也有解决这个错误的方法,尽管这个错误是在不同的时间引起的。

于 2012-04-29T06:00:02.597 回答
1

我按照他发布的 Babak 的 指示进行操作,稍作改动后它就起作用了。

我的系统是 Ubuntu 12.04 服务器,它安装了 Ruby1.9.3,所以我这样做了

sudo apt-get install mysql-server libmysqlclient-dev

似乎 libmysqlclient16-dev 现在在 Ubuntu 12.04 中重命名为 libmysqlclient-dev

后来我跑了

gem install mysql2
于 2012-05-08T17:37:26.230 回答
0

对我来说,那里没有任何工作。然后我找到了这个并尝试删除并再次创建 database.yml文件。它有效!

于 2012-10-05T08:07:42.833 回答