這個就不用多說了html
用於幫你安裝Ruby環境,幫你管理多個Ruby環境,幫你管理你開發的每一個Ruby應用使用機器上哪一個Ruby環境。Ruby環境不單單是Ruby自己,還包括依賴的第三方Ruby插件。都由RVM管理。數據庫
這個也不用多說,著名開發框架。詳細看 http://zh.wikipedia.org/wiki/Ruby_on_Railsruby
RubyGems是一個方便而強大的Ruby程序包管理器( package manager),相似RedHat的RPM.它將一個Ruby應用程序打包到一個gem裏,做爲一個安裝單元。無需安裝,最新的Ruby版本已經包含RubyGems了。app
Gem是封裝起來的Ruby應用程序或代碼庫。框架
注:在終端使用的gem命令,是指經過RubyGems管理Gem包。dom
定義你的應用依賴哪些第三方包,bundle根據該配置去尋找這些包。工具
Rake是全部須要安裝的Gem中最重要的一個,而且它應該始終是你在系統上第一個安裝的Gem。Rake是一個構建工具,和Make很類似,但它容許用Ruby來寫Rakefile(如何進行構建的定義文件),其中使用了一種特定的DSL(domain-specific language,領域專用語言),在保持Ruby強大功能的同時提供很高的可讀性。 Rails用rake擴展來完成多種不容任務,如數據庫初始化、更新等。ui
Rake is a build language, similar in purpose to make and ant. Like make and ant it's a Domain Specific Language, unlike those two it's an internal DSL programmed in the Ruby language.插件
PS:我的感受有點相似Symfony2中的app/consoledebug
Rakefile是由Ruby編寫,Rake的命令執行就是由Rakefile文件定義。
In a gem’s context, the Rakefile is extremely useful. It can hold various tasks to help building, testing and debugging your gem, among all other things that you might find useful.
詳細:http://rake.rubyforge.org/files/doc/rakefile_rdoc.html
至關於多個RubyGems批處理運行。在配置文件gemfilel裏說明你的應用依賴哪些第三方包,他自動幫你下載安裝多個包,而且會下載這些包依賴的包。
Bundler maintains a consistent environment for ruby applications. It tracks an application's code and the rubygems it needs to run, so that an application will always have the exact gems (and versions) that it needs to run.
參考: