POSTS
梳理与ruby相关的rvm、gem、gemfile、bundle、rails等各种概念
因为公司项目用到ruby的mvc框架rails,开始看项目也是一头雾水,不知道项目中的各个文件是干嘛的,经过查阅资料也算了解了。下面我将简单介绍一下它们的概念,也不至于让刚刚学习ruby、rails的同学被各种名词蒙圈。
1. ruby 维基百科
Ruby 是一种面向对象、命令式、函数式、动态的通用编程语言。在20世纪90年代中期由日本计算机科学家松本行弘(Matz)设计并开发。
2. rvm rvm官网
RVM(Ruby Version Manage),由名字可知是ruby的版本管理器,可以装各种版本的ruby,使用时也能够快速的切换想要的ruby版本,与nvm(Node Version Manager)类似。
3. rails rails中文官网
ruby作为小众语言被人们时常提及可能就是因为它吧,非常著名的mvc框架,基于“习惯优于配置(Convention Over Configuration)”能够很容易的启动一个web服务,开发单体web应用也非常方便和快速。
4. RubyGems
RubyGems是Ruby的包管理器(package manager),安装ruby后,默认就包含了RubyGems,无需再安装。
5. Gem
在命令行使用gem命令,是指通过RubyGems来管理gem包,手动安装各个类库。
例如使用gem安装rails:
gem install rails
6. Gemfile
在rails中,此文件定义应用程序依赖的各种类库。
7. Bundle
相当于多个RubyGems批处理运行。在配置文件Gemfile里说明你的应用依赖哪些第三方包,他自动帮你下载安装多个包,并且会下载这些包依赖的包。
安装bundle:
gem install bundler
下载Gemfile文件中的依赖:
bundle install
8. Rake
Rake是一门构建语言,和make类似。Rake是用Ruby写的,它支持自己的DSL用来处理和维护Ruby程序。 Rails用rake扩展来完成多种任务,如数据库初始化、更新等。
9. 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.
Rakefile是由Ruby编写,Rake的命令执行就是由Rakefile文件定义。