2011-07-12 197 views
1

我必須在本地運行需要Ruby 1.9.2(加上Mongo)的Rails(3.0.6)應用程序。我想將Ruby 1.9.2安裝在現有的1.8.7版本中,並且可以根據需要在它們之間進行交換。我更喜歡通過Macports安裝到usr/local等任何建議?我已經嘗試安裝RVM,但是這已經證明了OS X上的這種痛苦,我寧願避免這種情況。在OS X Leopard上使用/ usr/local安裝Ruby 1.9 - RVM問題

是否有另一種方式來運行多個Ruby版本(也許with a prefix like this)?這個項目我只需要切換到1.9。或有任何人已知的OS X/RVM的一個很好的解決方案installissues?具體來說,Tiger/10.4 bash不支持errtrace。

更新:使用新的RVM安裝腳本解決:請參閱RVM on OS X 10.4 - possible?

+0

我不知道爲什麼安裝RVM會是一個痛苦。我做了很多次。最重要的是要完整閱讀安裝說明,並且不要將root用於單用戶安裝。一旦安裝完成,請輸入「rvm notes」並按照其說明操作。 –

+0

我知道這些事情,但在OS X上有問題:http://groups.google.com/group/rubyversionmanager/browse_thread/thread/bc658ca82c40a533 –

回答

0

如果你下載的來源和編譯它,它應該安裝到/ usr /本地默認情況下,也可以

./configure --prefix=/usr/local 

只是要確定。

其實,編譯和從源代碼安裝Ruby是一種簡單的方法,以確保您有最新的版本,特別是如果你使用Git和github上:

https://github.com/ruby/ruby

+0

很高興做到這一點,但我需要保留系統Ruby在OS X上,並根據需要切換到它,因此RVM選項 - 除非有另一種方式? –

+1

@Dave我沒有一個在我面前,但我認爲Mac上的/ usr/local樹是空的?系統ruby是/ usr/bin/ruby​​,它是到/System/Library/..long,wrong path ../ usr/bin/ruby​​的鏈接,所以沒有覆蓋它的危險。 OS X一鍵式安裝程序:http://rubyosx.rubyforge.org/也將ruby放在/ usr/local中。也許這就是你的答案。 – Dmitri

+0

默認情況下它是空的,因此在OS X上將任何自定義(不僅僅是Ruby)安裝到/ usr/local確保系統升級不會覆蓋我們的安裝。單擊安裝程序對我的系統來說不夠高,所以我仍然需要從源代碼安裝。但是如何在它們之間進行交換? –

2

RVM確實是最簡單的解決方案,並我強烈建議你先嚐試解決這個問題。

唯一的建議是確保將PATH變量配置爲在之前包含/ usr/local/bin 。在您的.profile或.login文件(取決於你的shell),你應該有它推向底部,如果有任何其他的線路配置路徑爲好,然後爲Bourne shell的家庭:

export PATH="/usr/local/bin:$PATH

或爲C shell家庭:

set path = (/usr/local/bin $PATH)

運行的./configure獨自應該把它安裝到/usr/local,但你可以明確地 ./configure --prefix=/usr/local

狀態,以便
+0

已經做到了,但是RVM安裝存在問題:http://bit.ly/mWkDBj –

+1

是否真的如此破碎以至於將主要版本號和次要版本號硬編碼到應用程序中真的是「最簡單的解決方案」?比'git clone; 。/配置 ;做'? – Dmitri

+0

那麼,我可能會嘗試,當我從一個短暫的假期回來......是的,在OS X系統Ruby有一些破壞。 –

1

從源代碼安裝Ruby,它將默認爲/ usr/local/bin。根據需要調整您的路徑#!/usr/local/bin/ruby source.rb,以在Apple的Ruby安裝和您添加的安裝之間切換。

您可以使用./configure --prefix=/...強制一個新的基礎目錄,其中'...'是您想要的任何路徑。同樣,一旦安裝了這些文件,您可以使用上述方法之一來調整正在執行的Ruby。

不要試圖刪除Apple安裝的Ruby。它在那裏供他們使用,而不是爲了我們的方便,Apple使用它來提供一些功能。弄亂它或刪除它可能會破壞事情,而且你可能不會注意到一段時間。

RE:RVM,它確實是安裝用戶Ruby的首選方式。我在兩臺Mac電腦和幾個不同的Linux電腦上安裝了它,唯一一次我遇到麻煩的是在防火牆後面安裝了一臺安全機器,但是我根本無法將這些問題歸咎於RVM。而且,是的,我的工作很好,我只需將手動下載的Ruby檔案插入~/.rvm/archives目錄。

如果您遇到問題並想要使用它,可能會暫時剝離您的啓動腳本或創建臨時用戶,並查看會發生什麼情況。此外,筆者在問他問題的幾次時都非常積極且樂於助人。聯繫他在:

 
If you still cannot find what an answer to your question, find me 'wayneeseguin' in #rvm on irc.freenode.net: 

    http://webchat.freenode.net/?channels=rvm 
+0

謝謝,這真的很清楚 - 我會在下週假期回來嘗試它 - 欣賞IRC offer :-) –

+0

仍在嘗試RVM安裝:在.bash_login中獲得路徑(其他東西的底部)所有先決條件都存在。運行安裝指令中的命令在〜/ .rvm中給出了兩個空dirs,但是有兩個錯誤:第6行:set:errtrace:無效選項名稱,第166行:有條件的二元運算符。下載並運行rvm.sh腳本本身也是一樣的。我發現10.4的bash不支持errtrace,註釋掉了這些行,得到了repo,但是安裝在./scripts/install(第6行:set:errtrace:invalid option name)中拋出了類似的錯誤,但'install'是一個空文件? –

+0

@ dave-everitt你可以嘗試在/ usr/local中安裝新版本的bash。從http://www.gnu.org/software/bash/獲取構建包: – Kelvin

相關問題