版本管理之-bundle与gemfile的区别
2017-08-04 本文已影响189人
mervinzhu
gemfile与bundle之间的关系如图:
图解what is Bundle?
1.bundle是rails应用应用程序中对gem依赖包进行管理的一种管理工具,他会根据Gemfile中的设置自动下载以安装对应的gem套件并且能够帮我们解决不同套件之间的依存关系。同时他能够使得程序在不同的部署环境中使用所有不同的版本依赖保持一致(因为Gemfile里面就作出限定,不同环境但是都是根据同一个gemfile文件),这样移植到其他电脑或者让别人协同开发只要都根据同一个gemfile就能保持一致。
what is Gemfile?
1.Gemfile是我们创建的一个用于描述gem之间依赖的文件。gem是一堆Ruby代码的集合,它能够为我们提供调用.你的Gemfile必须放在项目的根目录下面, 这是Bundler的要求,对于任何的其他形式的包管理文件来说,这也是标准。
Create Gemfile
1.首先我们要做的就是告诉Gemfile到那里去找到这些gems, 这就是gem的源。
我们使用#source方法来做这件事情
source"https://rubygems.org"
这里并不推荐一个项目有多个源。对于99%的项目,你的Gemfile的源都会被要求设置为http://gems.ruby-china.org,对于一个源,唯一的要求是它必须是一个合法的Rubygems的repo。
2.例子:
source "http://gems.ruby-china.org"
gem "synx"
gem "shenzhen"
gem "cocoapods", "1.0.1"
gem "fir-cli"