学习Ruby你需要了解的相关知识(rvm, gem, bundle, rake, rails等)
Ruby
这个就不用多说了
RVM
用于帮你安装Ruby环境,帮你管理多个Ruby环境,帮你管理你开发的每个Ruby应用使用机器上哪个Ruby环境。Ruby环境不仅仅是Ruby本身,还包括依赖的第三方Ruby插件。都由RVM管理。
Rails
这个也不用多说,著名开发框架。详细看http://zh.wikipedia.org/wiki/Ruby_on_Rails
RubyGems
RubyGems是一个方便而强大的Ruby程序包管理器(packagemanager),类似RedHat的RPM.它将一个Ruby应用程序打包到一个gem里,作为一个安装单元。无需安装,最新的Ruby版本已经包含RubyGems了。
Gem
Gem是封装起来的Ruby应用程序或代码库。
注:在终端使用的gem命令,是指通过RubyGems管理Gem包。
Gemfile
定义你的应用依赖哪些第三方包,bundle根据该配置去寻找这些包。
Rake
Rake是所有需要安装的Gem中最重要的一个,并且它应该始终是你在系统上第一个安装的Gem。Rake是一个构建工具,和Make很相似,但它允许用Ruby来写Rakefile(如何进行构建的定义文件),其中使用了一种特定的DSL(domain-specificlanguage,领域专用语言),在保持Ruby强大功能的同时提供很高的可读性。Rails用rake扩展来完成多种不容任务,如数据库初始化、更新等。
Rakeisabuildlanguage,similarinpurposetomakeandant.Likemakeandantit'saDomainSpecificLanguage,unlikethosetwoit'saninternalDSLprogrammedintheRubylanguage.
PS:个人感觉有点类似Symfony2中的app/console
详细http://rake.rubyforge.org/
Rakefile
Rakefile是由Ruby编写,Rake的命令执行就是由Rakefile文件定义。
Inagem'scontext,theRakefileisextremelyuseful.Itcanholdvarioustaskstohelpbuilding,testinganddebuggingyourgem,amongallotherthingsthatyoumightfinduseful.
详细:http://rake.rubyforge.org/files/doc/rakefile_rdoc.html
Bundle
相当于多个RubyGems批处理运行。在配置文件gemfilel里说明你的应用依赖哪些第三方包,他自动帮你下载安装多个包,并且会下载这些包依赖的包。
Bundlermaintainsaconsistentenvironmentforrubyapplications.Ittracksanapplication'scodeandtherubygemsitneedstorun,sothatanapplicationwillalwayshavetheexactgems(andversions)thatitneedstorun.