2011-04-05 46 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: 
... 

注意最後一行有...束運行須藤只爲你需要根的東西。