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"