2010-09-16 70 views
0

我一直在試圖讓Rails 3安裝在Fedora中,它需要Ruby爲1.8.7或1.9.2。 Fedora官方的yum repos有Ruby 1.8.6,這是沒用的。所以我決定從源代碼自己編譯它,下載源代碼,編譯它併成功安裝它。Fedora問題上的Rails 3

但是這個奇怪的事情發生在安裝後,sudo gem或sudo ruby​​無法正常工作,它只是返回說未找到命令。

which ruby 
/usr/local/bin/ruby 

ruby -v 
ruby 1.9.2p0 (2010-08-18 revision 29036) [x86_64-linux] 

sudo ruby 
sudo: ruby: command not found 

sudo echo $PATH 
/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin 

我錯過了什麼,爲什麼它沒有找到紅寶石時,它的路徑?

+0

你確定了'ruby'可執行文件是'root'的'$ PATH'?你發佈的行並沒有顯示,因爲顯然變量擴展發生在你的shell中,而不是'root'。 – 2010-09-16 16:08:54

+0

不應該sudo使用當前用戶使用的相同PATH,我終於可以通過爲sudo設置一個別名來繞過它,「別名sudo = sudo env PATH = $ PATH」 – 2010-09-16 18:32:38

回答

1
  1. 檢查PATH變量(在你的.bash_profile或.bashrc文件中,加在/ usr/local/bin目錄到PATH的前面:

    PATH =在/ usr/local/bin目錄:$ PATH

  2. 我建議你看看RVM - 迄今爲止最好的方式來安裝不同Ruby版本之間切換,且獨立維護寶石每個版本

    https://rvm.io

    使用RVM比手工編譯要容易得多,它可以讓你所有的寶石都由Ruby版本來組織!

    還有上有一個RailsCast:http://railscasts.com/episodes/200-rails-3-beta-and-rvm