2012-09-25 36 views
2

我不是Ruby開發人員,但我需要在Mac上運行一個在rails上使用Ruby的應用程序,並帶有許多gem。瞭解Ruby環境(rvm,rails,gems等)

以下幾條在線教程我看到,我需要安裝大量的像Xcode中,客運,RVM,ECC的應用程序...

一切都OK了,但怎麼樣,如果有一天我決定卸載一切只保留在Mac中已經存在的Ruby默認安裝?

我在哪裏可以本地化我使用bundle install下載的所有寶石?

使用終端和寫入所有這些命令是一個乾淨的解決方案或它使我的系統「髒」和慢?

對不起,所有這些問題,但我想知道是否有一個「最佳實踐」安裝這個環境,它是如何工作的,以及如何完全卸載它,如果我決定做一天。

回答

2

RVM會爲您提供您想要的。它將保持系統Ruby安全並安裝本地化的Ruby和rubygems。從rvm你可以隨時安裝/卸載任何版本的ruby,並且不會影響系統ruby。當有一天你想要除去系統1以外的所有紅寶石,首先使用RVM刪除它們,然後刪除rvm本身。

從這裏安裝RVM:https://rvm.io/rvm/install/

安裝RVM將安裝Ruby紅寶石。如果你願意,你可以安裝其他版本。如果你想刪除你只需運行 rvm remove ruby-1.9.3-p194

您可以使用rvm list

本地化gemsets

您將需要一個.rvmrc文件得到確切的紅寶石版本。

要創建.rvmrc,進入項目目錄,並運行以下命令: rvm --create --rvmrc [email protected]

然後重新進入該目錄,它會問你要信任.rvmrv文件,你必須相信它。現在,如果您運行的是bundle install,它將在您的gemset目錄中安裝本地化的gemsets(很可能在您的〜路徑中)。

注:請確保ruby-1.9.3-p194正是你在rvm list

2

發現RVM是你所需要的名稱相匹配。所有的事情都可以通過命令行來完成,它會很乾淨並隨時可以被刪除。

Xcode是沒有必要的。但釀造可能是。如果你有沖泡,請先安裝apple-gcc42。 Xcode 4.2及以後版本的llvm-gcc在編譯ruby時不太好。

然後安裝rvm。按照rvm官方網站上的步驟很容易。安裝完成後,請先嚐試rvm requirements。這個命令會告訴你你需要構建ruby。一些庫可能不會是在機器上,像的ReadLine等

當所有要求得到滿足,rvm install 1.9.3將安裝Ruby 1.9。3在你的機器上,它需要幾分鐘。你可以在rvm list known安裝任何ruby版本。 rvm list會顯示你的本地版本。使用rvm default some_version來設定默認值。這與系統安裝不會有衝突。並且rvm use some_version將把ruby版本更改爲特定版本。

安裝的所有東西默認保存在~/.rvm/,包括寶石。

應該沒有必要卸載rvm。但通過直接刪除它很容易。

+0

最近,rvm自動安裝最新的ruby版本,這真的很不錯:) – HungryCoder

+0

「Xcode 4.2及以後版本的llvm-gcc不適合編譯ruby」是錯誤的。由於1.9.3-p125 Ruby支持使用LLVM進行編譯。 –

+0

安德魯它的「作品」並不意味着一切都會起作用,至少1.9.3-p194和1.9.3-p125中有至少已知的問題,其他東西也有問題(這就是爲什麼p194被釋放),另外在更新clang/llvm之後,您可能會遇到其他隨機問題,因爲編譯並不總是會產生相同的結果 - 鏗鏘聲優化要激進。 – mpapis