【发布时间】:2011-07-31 13:48:07
【问题描述】:
我正在编写一个基于 Ruby 的守护程序,以便在我的一台 Ubuntu 服务器上运行。我希望它在启动时运行,因此将为它编写一个新贵的作业文件。但是,我使用 bundler 来管理它使用的各种 gem,并打算在将其部署到服务器后执行此操作:
bundle install --deployment
这将 bundler 置于所谓的“部署模式”,其中设置了各种选项,所有 gem 都安装到“供应商”目录而不是系统范围内。然而,这会产生运行它的问题,因此它必须从它自己的目录中执行,因为这是 gems 的最终位置:
<in the app's dir>
$ ./runmyapp
<it runs>
如果我 cd 到另一个位置,然后尝试使用它的完整路径运行它,它会失败:
<in another directory>
$ /path/to/runmyapp
<it crashes as it can't locate its gems>
我已经阅读了很多捆绑程序文档,但从未涵盖整个场景?我应该只将 gem 安装到系统中吗?还有什么我应该做的吗?
【问题讨论】: