2011-04-30 73 views
0

從Java世界即將如果關係捆綁和寶石

rake == ant 
gem == maven #at least the dependency part 

那麼到底是什麼捆綁?

它說「管理你的應用程序的依賴關係」,但是這不是寶石通過爲我提取它而做的事嗎?

回答

2

Gem獲取一個庫並將其安裝在其中一個預定義位置,如供應商gem,系統或用戶gem目錄。該安裝的版本將被您的程序使用。所以如果你有兩個程序需要兩個不同版本的寶石,你可能會不太走運,因爲當你安裝最新的寶石時,需要較老的應用程序可能會有問題。您可以指定這些寶石的版本號,但這些將需要在目標服務器上繼續使用。

捆綁器來了 - 它管理精確的依賴包括寶石版本。因此,當您部署應用程序並指定了所需的精確gem版本時,bundler會負責在當時獲取並安裝這些精確版本。您的應用現在將捆綁指定版本,以便在目標系統上的寶石具有不同的不兼容版本時,它不會中斷。

2

Rake = ant gem = jar Bundler = maven