2010-08-13 147 views
30

爲什麼Mac OS X在預裝的軌道上安裝了ruby和ruby?操作系統是否真的使用它?我可以安全地更新我的Ruby,Rails或Gem版本嗎?爲什麼Mac OS X帶有ruby/rails?

+3

它還附帶安裝了python。 – Toad 2010-08-13 07:46:04

+3

...和tcl。和perl。 – 2010-08-13 18:49:34

+0

你可以更新這些東西,但是,因爲沒有迴歸或集成測試,所以你無法知道是否搞砸了系統依賴的某些東西。試試我選擇的答案下面的評論中列出的命令,你會看到Apple依賴於語言;他們不是爲了我們的快樂而完全沒有。 @Ned Deily建議小心謹慎,並建議處理它的替代方法。我還建議使用[RVM](http://rvm.beginrescueend.com/)來處理這件雜事。 – 2010-12-16 14:26:09

回答

52

正如其他人所指出的,OS X帶有預先安裝的各種開源軟件包。雖然這可以是一個很好的方便,但是軟件包通常只是作爲主要OS X版本(如10.5到10.6)的一部分更新到新版本。另外,有些軟件包在OS X的其他部分被其他地方使用,並且沒有簡單的方法知道它們。一般來說,蘋果公司假設(你也應該),/System/Library/usr/,除了/usr/local/之外的所有東西都是OS X的一部分,由Apple管理。您不應該嘗試刪除或修改這些層次結構中的文件。這包括幾乎所有的開源軟件包,包括Ruby

相反,爲了升級現有包,正確的方法是在一個單獨的位置安裝一個新版本(比如說,/usr/local/),並通過絕對路徑參考(/usr/local/bin/ruby)或操縱殼PATH調用新版本環境變量,如有必要。如果直接從源代碼安裝,經常使用/usr/local/。許多人更喜歡使用第三方開源軟件包分銷商之一,如MacPorts,FinkHomebrew,其中每個都有自己的軟件包管理器和安裝位置。

+2

+1,這是正確的答案。 – 2010-12-16 14:21:02

7

沒有操作系統不使用,只是蘋果希望讓她的產品更吸引開發者。 (還有一些Python預裝了一些其他數據包)。

您可以安全地更新您的Ruby,Rails,Gems,但默認的Ruby版本有點過時。檢查RVM,以便您可以在系統中安裝不同的紅寶石

+9

您如何知道Apple不使用Ruby,Python,Perl或TCL?根據我的檢查,系統使用所有四種語言:請嘗試'找到* .py | grep ^/usr | grep -v/System'和它們的標準擴展。 – 2010-12-16 14:18:13

1

如果您想在不干擾現有版本的情況下使用更新的環境,請考慮Rubystack。免責聲明,我是RubyStack的開發人員之一。它可以在開源的Apache 2.0許可下免費獲得。

+1

每次提到產品時都應該公開你與公司的關係。否則,它在這裏被認爲是垃圾郵件。 – 2011-08-03 17:27:17

+0

我在其他大多數問題中都這樣做了,並且在我的個人資料中也清楚地說明了這一點。 BitNami並不是一家公司,我們也沒有爲這些堆棧賺錢(儘管它是由一家公司贊助的,我們還向Sugar,Alfresco等其他開源公司提供支持和服務)。無論如何,我現在已經更新了我的回覆。此外,我認爲沒有必要減少答案,因爲它與這個主題直接相關。 – 2011-08-03 21:01:43

+1

我沒有downvote。垃圾郵件標誌就是這樣的。一段時間後,它會消失,你更新了答案。但請注意,您確實應在每個答案中指定您的聯屬關係,但將其放在您的個人資料中是不夠的,因此您應該檢查所有推薦​​您產品的答案是否包含免責聲明 – 2011-08-03 23:46:59

相關問題