2011-01-27 31 views
0

每當我試圖運行一個Ruby腳本的任何用戶,但是我自己,我得到這個錯誤:只有一個特定的用戶可以運行Ruby腳本

/usr/bin/env: ruby: No such file or directory 

我不明白爲什麼這應該是這樣。當我安裝Ruby時,爲什麼會認爲我只需要一個用戶?

下面是這是否有幫助:

$ which ruby 
/home/jason/.rvm/rubies/ruby-1.9.2-p136/bin/ruby 
+0

也許有所幫助:[RVM不能使用使用sudo紅寶石](http://stackoverflow.com/questions/3644897/rvm-cannot-use-ruby-with-sudo) – miku

回答

3

RVM默認只爲您自己的用戶帳戶安裝。但是,它看起來像是提供了一個系統範圍的安裝指導,允許所有用戶訪問。 (但是,每個用戶在其配置文件中仍然需要特定於RVM的更新)。

http://rvm.beginrescueend.com/deployment/system-wide/

0

也許別人會有更好的答案,但這裏的東西,我想出了:

我的腳本的第一行是這樣的:

#!/usr/bin/env ruby 

我將其更改爲此,現在其他用戶可以運行腳本:

#!/usr/bin/env /home/jason/.rvm/rubies/ruby-1.9.2-p136/bin/ruby 
+1

你已經安裝了內部紅寶石你的主目錄,這就是爲什麼沒人能找到它。 – Mauricio

+0

只有擁有相同組權限的用戶才能運行它。他們也可以改變它。 「更正確」的做法是使用[系統範圍安裝](http://rvm.beginrescueend.com/deployment/system-wide/)。 RVM被設計爲一個個人Ruby沙箱,允許每個用戶擁有完全獨立的配置,但您的使用不是常態。雖然RVM可以使用系統範圍的安裝來優雅地處理它。 –

0

我認爲其他用戶可能在他們的PATH環境變量中缺少/home/jason/.rvm/rubies/ruby-1.9.2-p136/bin,因此/ usr/bin/env找不到ruby。檢查他們的PATH,看看是否是這種情況。

+0

用戶可以將其添加到他們的路徑中,但是操作系統會關閉他們嘗試執行Ruby的機率是非常好的。 OP的整個Ruby環境必須是'chmod''d才能訪問並允許執行,這是出於安全原因而不推薦的。 –

相關問題