0

我正在尝试将我的应用程序部署到带有 capistrano、rvm、passenger 和 nginx 的 VPS。

我已经在 Debian6 上通过 apt-get 安装了 nginx。

现在看起来好像要安装乘客并运行passenger-install-nginx-module我必须根据 modrails 站点将这两个命令作为 sudo 运行。

问题是我使用 sudo 安装了 rvm 系统范围。现在它似乎不允许 sudo gem 安装。我很难理解 rvm 的所有细节。

例如此链接http://blog.ninjahideout.com/posts/the-path-to-better-rvm-and-passenger-integration建议通过以下方式更新 rvm

rvm 更新 --head

这给出了错误:

错误:rvm 更新已被删除。请参阅 'rvm get' 和 rvm 'rubygems' CLI API

所以一件事会导致另一个错误,而另一件事需要升级等。我真的很想在这些问题上得到一些帮助:

  • 在服务器上应该使用 sudo 安装 rvm 吗?
  • 如果不是,我将无法运行乘客模块安装命令。
  • rvm 网站强烈反对在 https://rvm.io/rubies/rubygems/上进行系统范围的安装。当它在系统范围内安装时,您如何运行 sudo gem install Passenger?

我觉得我在这里处于第 22 阶段的情况。提前感谢您的帮助。

4

1 回答 1

0

你永远不应该使用sudoRVM,它会丢失所有的 shell 变量——包括那些需要 RVM / Ruby 正常工作的变量。

要更新 RVM,请运行:

rvm get head
rvm reload

要在安装 RVM 时安装 gems,/usr/local/rvm请确保您的用户在rvm组中,您可以使用以下方法进行验证:

id

这是使用 RVM 和 SM 框架的最佳实践部署

于 2012-07-30T18:56:44.563 回答