Ruby on rails 绑定器与gem的关系

Ruby on rails 绑定器与gem的关系,ruby-on-rails,Ruby On Rails,来自java世界,如果 rake == ant gem == maven #at least the dependency part 那么bundler到底是什么 它说的是“管理应用程序的依赖项”,但gem不是在为我获取它们吗?gem获取一个库,并将其安装在预定义的位置之一,如供应商gem、系统或用户gem目录。然后,您的程序将使用已安装的版本。因此,如果你有两个程序需要两个不同版本的gem,那么你可能就不走运了,因为当你安装更新版本的gem时,需要更旧版本的应用可能会出现问题。您可以指

来自java世界,如果

rake == ant  
gem  == maven #at least the dependency part
那么bundler到底是什么


它说的是“管理应用程序的依赖项”,但gem不是在为我获取它们吗?

gem获取一个库,并将其安装在预定义的位置之一,如供应商gem、系统或用户gem目录。然后,您的程序将使用已安装的版本。因此,如果你有两个程序需要两个不同版本的gem,那么你可能就不走运了,因为当你安装更新版本的gem时,需要更旧版本的应用可能会出现问题。您可以指定gems的版本号,但这些版本号需要在以后的目标服务器上可用


bundler就是这样来的——它管理包括gem版本在内的精确依赖关系。因此,当您部署应用程序并指定了所需的确切gem版本时,bundler将负责在此时获取并安装这些确切版本。您的应用程序现在将具有“捆绑”的指定版本,这样您就不会在目标系统上Gem具有不同的、不兼容的版本时中断应用程序。

Gem获取一个库,并将其安装在预定义的位置之一,如供应商Gem、系统或用户Gem目录。然后,您的程序将使用已安装的版本。因此,如果你有两个程序需要两个不同版本的gem,那么你可能就不走运了,因为当你安装更新版本的gem时,需要更旧版本的应用可能会出现问题。您可以指定gems的版本号,但这些版本号需要在以后的目标服务器上可用

bundler就是这样来的——它管理包括gem版本在内的精确依赖关系。因此,当您部署应用程序并指定了所需的确切gem版本时,bundler将负责在此时获取并安装这些确切版本。您的应用程序现在将具有“捆绑”的指定版本,这样您就不会在目标系统上gems具有不同的、不兼容的版本时中断应用程序。

Rake=ant 宝石=罐子 Bundler=maven

Rake=ant 宝石=罐子 Bundler=maven