2014-10-27 150 views
2

我在DREAMHOST上部署了RoR应用程序。下面是我目前在libmysqlclient_r.so.16:无法打开共享对象文件:无此文件或目录DREAMHOST

  • 的Ruby运行版本:1.8.7红宝石(2011-06-30 PATCHLEVEL 352)[x86_64的Linux的]
  • 的Rails:Rails的3.2.3

当我尝试加载主页的错误是如下:

libmysqlclient_r.so.16: cannot open shared object file: No such file or directory - /gems/ruby/1.8/gems/mysql2-0.3.13/lib/mysql2/mysql2.so (LoadError) 
/gems/ruby/1.8/gems/mysql2-0.3.13/lib/mysql2/mysql2.so 
/gems/ruby/1.8/gems/mysql2-0.3.13/lib/mysql2.rb:8 

/usr/lib/ruby/vendor_ruby/bundler/runtime.rb:68:in `require' 
/usr/lib/ruby/vendor_ruby/bundler/runtime.rb:68:in `require' 
/usr/lib/ruby/vendor_ruby/bundler/runtime.rb:66:in `each' 
/usr/lib/ruby/vendor_ruby/bundler/runtime.rb:66:in `require' 
/usr/lib/ruby/vendor_ruby/bundler/runtime.rb:55:in `each' 
/usr/lib/ruby/vendor_ruby/bundler/runtime.rb:55:in `require' 
/usr/lib/ruby/vendor_ruby/bundler.rb:120:in `require' 
/config/application.rb:7 
/config/environment.rb:2:in `require' 
/config/environment.rb:2 
config.ru:3:in `require' 
config.ru:3 

我曾尝试更新mysql2宝石,卸载和重新安装完成bundle install这是成功的。我试过wget -O并添加了文件。但错误仍然存​​在。 我试图寻找答案,但没有多少运气。

这是针对生产环境的。任何反馈将不胜感激。

回答

0

您的问题与宝石无关。 libmysqlclient_r抱怨说mysql2.so找不到,因为它在您的机器上缺失。您需要使用bundler而不是使用bundler,而是使用您的系统软件包管理器(即对于Debian,您可以使用apt-get或​​)。

首先,找到的YOUT libmysqlclient_r.so绝对路径:

dpkg -S libmysqlclient_r.so.16 

现在你已经得到了绝对路径,那么运行:给定库的

ldd ABSOLUTE_PATH_TO_YOUR_LIB/libmysqlclient_r.so 

ldd列出的依赖关系。至少会有一个文件丢失。现在,您只需安装缺少的软件包即可。

+0

感谢您的reply.dpkg命令返回“无路径匹配模式”结果。但是,dpkg -S libmysqlclient_r.so列出3个路径 – LS2 2014-10-28 16:01:09

+0

是的,它应该返回类似'$ dpkg -S libmysqlclient_r.so libmysqlclient-dev:/usr/lib/x86_64-linux-gnu/libmysqlclient_r.so; ...'。第一条路径是你感兴趣的一条。 – blelump 2014-10-28 16:15:05

+0

谢谢,我得到了linux-vdso.so.1,libz.so.1,....在dreamhost服务器中,我们不能使用apt-get。有没有其他方法可以解决这个问题? – LS2 2014-10-29 07:08:17

相关问题