【发布时间】:2011-05-26 23:15:26
【问题描述】:
我把自己描绘成一个有点烦人的角落。
我开始使用 RVM,现在我的一个应用程序愉快地坐在它自己的 Ruby 1.8.7@appname gemset 中。我可以从头开始制作 gemset 并执行 bundle install 来安装所有 gems。一切都很好。
因此,在托管应用程序的服务器上,在带有乘客的 nginx 下,我在拥有应用程序文件夹的用户“deploy”下安装了 RVM。然后我用 bundle install 安装了所有的 gem。然后,我将 nginx 配置更改为指向应用程序的新版本,即在 RVM 下运行的应用程序。 BAM!,乘客开始抱怨没有宝石。
我认为问题在于 nginx 以 root 身份运行,它没有定义 RVM。 “没问题”我想,我会将应用程序的 RVM 设置为系统默认值。所以,我切换到root,然后rvm --default 1.8.7@appname。我得到了:
rvm: command not found
返回,所以,看起来 RVM 只是为“部署”用户安装的。我想我应该按照 RVM 的install document 为所有用户安装它。
我必须从头开始吗?即,我是否应该切换回“部署”用户,卸载 RVM 及其所有痕迹,然后以 root 身份重新安装它?或者我可以在正确的 RVM 中运行 nginx/passenger 吗?
【问题讨论】: