ruby-on-rails - libmysqlclient_r.so.16 : cannot open shared object file: No such file or directory DREAMHOST

标签 ruby-on-rails ruby rubygems mysql2 dreamhost

我在 DREAMHOST 上部署了一个 RoR 应用程序。这是当前正在运行的版本

  • ruby : ruby 1.8.7(2011-06-30 补丁级别 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 gem,卸载并重新安装完成的 bundle install,这是成功的。我试过 wget -O 并添加了文件。但错误仍然存​​在。 我曾尝试寻找答案,但运气不佳。

这适用于生产环境。任何反馈将不胜感激。

最佳答案

您的问题与 gem 无关。 libmysqlclient_r 提示找不到 mysql2.so,因为它在您的机器上丢失了。您需要处理它而不是使用 bundler,而是通过您的系统包管理器(即对于 Debian,您可以使用 apt-getaptitude ).

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

dpkg -S libmysqlclient_r.so.16

现在你已经有了绝对路径,所以运行:

ldd ABSOLUTE_PATH_TO_YOUR_LIB/libmysqlclient_r.so

ldd 列出给定库的依赖项。至少会丢失一个文件。现在您所要做的就是安装缺少的包。

关于ruby-on-rails - libmysqlclient_r.so.16 : cannot open shared object file: No such file or directory DREAMHOST,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26582396/

相关文章:

ruby-on-rails - 将 CSV 转换为数组?

ruby-on-rails - 安装 ruby​​ gems 时无法创建 Makefile

rubygems - 我可以在 ironruby 中运行 ruby​​gems 吗?

ruby - 如何为字符串编写就地方法

ruby-on-rails - 在 Rails 3 中查找最新的记录

ruby - 错误:执行 gem 时...(Gem::FilePermissionError)

ruby-on-rails - 使用 rails 的管理 gem 自定义字段

javascript - Rails link_to anchor 与远程 : true & method: :post

ruby-on-rails - 路由错误 - 在 rails 中使用 activerecord-reputation-system gem 时没有路由匹配 [GET] 错误

ruby - Nokogiri XML 构建器向我的 XML 添加不需要的 "class=' 调用'"?