2011-04-05 25 views
1

我在服务器上安装了全系统的RVM。我只是在运行bundle install而在黑暗中拍摄。我不知道我是否应该像Rails应用程序那样以root用户身份运行它。现在,我一直在做su -更改为根,然后cd'ing到Rails根目录并运行bundle install。不知道这是否正确。任何帮助?通过系统范围的RVM安装,您将哪个用户运行捆绑安装为?

回答

4

捆绑的doc明确表示,不这样做,作为根:

http://gembundler.com/man/bundle-install.1.html

报价:

你不应该使用sudo bundle install。这是因为在束几个其他 步骤安装必须 作为当前用户执行:

1)更新您Gemfile.lock的
2)更新 您的供应商/缓存,如果必要的话
3)检查出私人Git仓库 使用用户的SSH密钥

特别是随着RVM真:

http://rvm.beginrescueend.com/rubies/rubygems/

报价:

请勿使用sudo ...

与RVM宝石来工作。当你做 须藤你因此运行命令为根, 在另一个shell中的其他用户和 所有RVM有 为你做被忽略的设置,而下须藤 命令运行(这种事情 如GEM_HOME等。 ..)。因此,要尽快重申, 你“须藤”你正在运行 因为这将 清楚你的环境以及 它创建的任何文件都不能 根系统用户通过你的用户进行修改和意志 结果在奇怪的事情发生。 (你会开始认为有人 有你 应用程序的巫毒娃娃...)

+0

你是否基本上说不去安装系统范围的RVM? – dan 2011-04-05 22:03:22

+1

不,不,不,使用RVM很棒,捆绑器很棒,但是不要使用'sudo'。 – 2011-04-05 22:11:05

+1

请看我的新问题http://stackoverflow.com/questions/5559188/is-a-system-wide-install-of-rvm-a-bad-idea – dan 2011-04-05 22:19:12

0

至于哪个用户拥有并运行Ruby应用程序。

3

捆绑包很聪明。如果你的宝石是在/ usr/local或/选择或任何你没有权限,它会做到这一点:

bundle install

<~/code/project> $ bundle install 
Fetching https://github.com/plataformatec/simple_form.git 
remote: Counting objects: 3275, done. 
remote: Compressing objects: 100% (1225/1225), done. 
remote: Total 3275 (delta 2289), reused 2836 (delta 1950) 
Receiving objects: 100% (3275/3275), 369.42 KiB | 608 KiB/s, done. 
Resolving deltas: 100% (2289/2289), done. 
Fetching source index for http://rubygems.org/ 
Enter your password to install the bundled RubyGems to your system: 
... 

注意最后一行有...束运行须藤只为你需要根的东西。