2010-11-07 325 views
0

我已經從源代碼安裝了Ruby 1.9.2。但是,似乎在識別已安裝的捆綁軟件gem時遇到了一些麻煩。紅寶石1.9.2安裝和寶石

/etc/environment文件:

PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/ruby/bin" 

它看起來像我的寶石是在/usr/local/ruby/gems/1.9.1/gems/。 在我的Rails應用程序,當我試圖運行sudo的包安裝,我得到一個錯誤:

sudo: bundle: command not found 

而且,爲什麼目錄1.9.1說?

+0

嘗試rvm ...(在mac上)這是相當可靠的 – 2010-11-07 20:39:32

+0

rvm在Mac和* nix是相當可靠的,不只是Macintosh。 – 2010-11-07 21:11:45

回答

-1

類型which ruby看到你的系統認爲紅寶石的路徑是英寸

你使用構成了--prefix=...選項,當您設置的配置?通常來自源代碼的Ruby不在/ usr/local/ruby​​/bin中。 Ruby可執行文件位於/ usr/local/bin/ruby​​中,但這不是您設置PATH以使用它的方式,因此看起來很可疑。注意你的路徑已經包含了/usr/local/bin,所以如果Ruby安裝到源安裝的正常位置,那個路徑將會選擇它並且最終搜索/usr/local/bin/ruby將是錯誤的和不必要的。

如果您在安裝新版本的Ruby之前安裝了gem,那麼該gem將成爲之前安裝的一部分,而不是當前安裝的一部分,並且不可見。他們是單獨安裝。

除非您嘗試爲多個用戶進行系統範圍的安裝,否則沒有真正的理由從源代碼進行編譯並允許將其安裝到/ usr/local/bin。我強烈建議安裝RVM,然後讓它將任何Ruby版本安裝到RVM的~/.rvm沙箱中。 Gems也將相對於當前啓用的RVM控制的ruby進行安裝,這真是一件好事。