我无法在 Dreamhost 的 Passenger 上获取 Rails 应用程序来查看我的 ~/opt/lib 目录中的已编译库。我必须将它们放在这里,因为我没有根访问权限。
我可以在 ./script/console 中启动我的应用程序,它可以很好地看到它们的库,因为我更新了我的 .bash_profile 的 LD_LIBRARY_PATH
环境变量以包含 ~/opt/lib。
我试过将 ENV['LD_LIBRARY_PATH'] = '~/opt/lib'
放在我的 environment.rb 文件中,但它似乎没有太大帮助。当我导航到我的站点时,我从 Passenger 收到以下错误:
libodbcinst.so.1:无法打开共享对象文件:没有这样的文件或目录 -/home/username/opt/lib/odbc.so
谁有这方面的经验?
谢谢
最佳答案
我在 http://blog.rayapps.com/2008/05/21/using-mod_rails-with-rails-applications-on-oracle/ 中描述过与 Passenger 类似的问题
但在你的情况下,这个 migth 不起作用,因为你将无法更改 Dreamhost 的 httpd.conf 文件。
您可以尝试的另一件事是在 .bashrc 中设置 LD_LIBRARY_PATH - 根据 http://www.wavethenavel.com/jonathanpenn/2008/09/08/bootstrapping-a-dreamhost-account-for-rails-and-git/这在 Dreamhost 的案例中有效。尚未验证 Passenger 将在启动 ruby 之前执行 .bashrc。
关于ruby-on-rails - 在 Passenger Rails 应用程序中包含 ~/opt/lib 库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/250687/