請理解,我並不想抨擊RVM。我只想了解爲什麼它在Ruby社區中如此受歡迎。RVM在Linux上有什麼優勢?
似乎有兩個主要原因使用RVM--在不同版本的Ruby之間管理/切換,併爲每個項目管理特定的gemset。然而,似乎有在Linux上實現同樣的事情更清潔的方式:
- 我可以通過 定期包管理器安裝在倉庫不同Ruby版本 ,或從源代碼構建 和安裝的軟件包。 我可以使用 update-alternatives(至少在Debian,Ubuntu,Fedora上)在不同版本之間切換。
- 我可以使用Bundler來管理不同項目的 寶石套件,如this blog post中概述的 。
鑑於上述情況,我很困惑爲什麼我想用RVM來管理Ruby版本和寶石。使用bash腳本在我的系統上在軟件包管理器外部安裝軟件的想法讓人覺得很駭人,這種感覺被this blog post支持。
不是Mac用戶我在這裏完全猜測,但我認爲這可能是OS X在Ruby社區中非常流行。如果在OS X上沒有用於切換ruby版本的update-alternatives這樣的系統,RVM可能是最好的解決方案,並且這個想法也延續到linux上。就像我說的,這只是一個猜測。
那麼爲什麼RVM如此受歡迎,爲什麼我應該比Debian或Ubuntu上的常規軟件包管理器+ Bundler更喜歡它?
您可以在Rails 2.3中使用Bundler並付出一定的努力:http://gembundler.com/rails23.html – coreyward 2011-06-17 13:49:32
當您必須管理許多具有相同寶石但不同版本的項目時 - 請相信我 - 這很難 – bor1s 2011-06-17 13:50:45