4

我想知道區別?我使用的是RVM,使用bundle install和rvm bundle install有什麼區別?

我可以運行兩個,他們安裝,但實際的區別是什麼?

我正在做一個michael hart的教程/截屏視頻,他使用bundle install,這與使用rvm bundle install有什麼不同?

我還決定嘗試一下「rubymine」IDE的試用版,我在終端中運行軟件包安裝後發現它,然後打開ide告訴我需要更新一些寶石,所以我確信它不會安裝捆綁在同一個地方。

我已經加載了一個rvm項目。

+0

我覺得你很困惑。沒有'rvm bundle'命令。 'bundle'是安裝捆綁軟件gem後使用的命令。 – ghoppe

回答

10

我覺得從這個問題來看,你並沒有完全理解rvmbundler之間的區別,以及它們究竟做了什麼。我會嘗試解釋這種差異。

RVM是Ruby環境(版本)管理器的首字母縮寫。這是一組命令行腳本,用於幫助爲某個項目或某組項目「sandbox」ruby二進制文件和gems。這樣,如果您有一個項目需要Ruby 1.8,而另一個需要使用Ruby 1.9,則可以在兩個Ruby安裝之間輕鬆切換,避免不兼容或繁瑣的配置。

你也可以爲每個ruby版本安裝不同的gemset,所以如果你需要用Ruby on Rails 2.3和一些3.0開發一些應用程序,或者如果你想嘗試新的3.1版本,你可以在不破壞的情況下其他應用程序的依賴關係。

Bundler是一個紅寶石寶石,正如網站所說,它在整個生命週期內系統地和可重複地管理多臺機器上的應用程序依賴項。

捆紮機可以很容易地一個應用程序的源從一臺機器複製到另一臺,並安裝所有的寶石,並通過特定的應用需要迅速依賴性和(相對)怕疼。

所以我明白混亂,因爲有一些重疊。 RVM gemsets與gem bundle類似。不同的是,打捆管理寶石和依賴關係單個應用程序和整個多臺機器。 rvm gemset是一個沙盒,它將一組寶石保存在一個地方,並綁定到單個機器上的特定ruby安裝,有時用於多個應用程序。

因此,當你說你在你的IDE中「加載了一個rvm項目」時,這並不是特別真實。 RVM是一個沙箱,而不是一個框架。

+0

現在對我完全有意義。我正在運行bundle install和rvm bundle install,這就是我變得困惑的地方。 – LondonGuy

+0

嗯,我仍然困惑,你在說什麼,因爲如果你鍵入的命令行'RVM束install',它會顯示一個錯誤,因爲沒有'RVM bundle'命令。 ;-) – ghoppe

+0

我的意思是當我輸入rvm gem install GEMNAME ..它的工作原理。當我輸入「寶石列表」時,rvm gem list給了我一個不同的寶石列表 – LondonGuy

相關問題