2014-10-27 174 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

相關問題