2011-09-17 54 views
0

我安裝了RVM,它以root身份安裝。權限是:無法以非root用戶身份安裝gems

drwxrwsr-x 23 root rvm 4096 2011-09-17 15:22 rvm 

這裏是我試圖安裝一個寶石作爲sudo的一個例子:

[email protected]:/usr/local/rvm$ sudo gem install bundler 
Successfully installed bundler-1.0.18 
1 gem installed 
Installing ri documentation for bundler-1.0.18... 
Installing RDoc documentation for bundler-1.0.18... 

[email protected]:/usr/local/rvm$ gem list 

*** LOCAL GEMS *** 

rake (0.9.2) 

奇怪的是,如果我「須藤蘇 - 」,然後安裝創業板根,它的工作原理。 ubuntu是如何在sudoers文件中列出的問題?

ubuntu ALL=(ALL) NOPASSWD:ALL 

我做編輯sudoers文件與VIM,它告訴我使用visudo,所以我不知道這帶來的問題。

+0

它看起來像什麼時失敗? – jefflunt

+0

沒有失敗的文本,它說它安裝,但它沒有。 –

回答

1

嘗試使用rvmsudo而不是sudo

如果這是一個廚師運行的情況下,你可以使用這個資源:

execute "gem-install-bundler" do 
    user "root" 
    command <<-COMMAND 
    bash -c ' 
     source {{{/path/to/rvm}}} 
     rvm use {{{ruby-version}}} 
     gem install bundler 
    ' 
    COMMAND 
end 
+0

當我通過命令行嘗試時,它起作用,但當廚師運行它時不起作用。它給了我一個錯誤,沒有找到rvmsudo。你有什麼想法,爲什麼? –

+0

實際上,當我通過它的路徑指向它時,它仍然運行,但仍然沒有安裝。所以rvmsudo登錄到服務器時工作,但不是當它由廚師運行時.. –

+0

我更新了我的答案。 – yfeldblum

0

的RVM環境可能不會被加載須藤。

嘗試運行:

sudo -i gem install bundler 

-i是: 「模擬初始登錄」

很抱歉,但我自己在那一刻我無法驗證它。

0

我有同樣的問題,這對我工作。事實證明,所有其他方法安裝到全球gemset,這就是爲什麼命令返回沒有錯誤的原因

script 'bundle gems' do 
    user 'root' 
    code <<-EOH 
    . "/usr/local/rvm/scripts/rvm" 
    cd /your/directory 
    rvm rvmrc trust 
    BUNDLE_WITHOUT=test bundle install 
    exit $? 
    EOH 
    interpreter 'bash' 
end 
相關問題