最近接触了一个项目,使用Ruby on Rails进行开发,所以我也简单的接触了一下,对项目没有什么帮助,但是学习了一下在linux下进行Ruby on Rails的开发。
把我学习的东西做个总结,供大家分享。总体来说Ruby on Rails在国内的教程还是非常少的。
1. Ruby简介
Ruby是面向对象的编程语言,追求的是“简单便捷的面向对象编程”。Ruby是解释型的语言,因此不许要编译就可以快速的编程,熟悉编程语言的同学可能清楚,既然是解释型的语言,就需要在语言的效率上作出一定的牺牲。
2004年Rails框架的出现,使得Ruby更加流行。
2. Ruby的安装
目前使用的最多的就是通过rvm进行安装ruby. RVM是ruby的一个版本管理工具,并且可以通过这个工具实现在线安装ruby,rails等。为什么需要ruby的版本管理呢?因为ruby语言的版本变化是很快的,在推出的新版本中,可能对以前版本的支持不是很好,并且有些不兼容,如果你想使用新的版本做测试,但是并不想用新的版本来开发已经用以前版本已经在进行开发的产品,就需要用到版本管理。
RVM可以让你轻松的在各个版本的ruby之间切换,而不会造成版本混论和其他的负面影响。
2.1. 安装系统相关类库组件
$ sudo apt-get install wget vim build-essential openssl libreadline6 libreadline6-dev curl git-core zlib1g zlib1g-dev libssl-dev libyaml-dev libxml2-dev libxslt-dev autoconf automake libtool imagemagick libpcre3-dev
通过上面的命令安装系统需要用到的组件。
2.2 安装RVM
RVM 是干什么的这里就不解释了,后面你将会慢慢搞明白。
$ curl -L get.rvm.io | bash -s stable
等待一段时间后就可以成功安装好 RVM。
测试是否安装正确
$ rvm -v
rvm 1.9.2 by Wayne E. Seguin (wayneeseguin@gmail.com) [https://rvm.beginrescueend.com/]
如果想了解更多的RVM的信息,请参考我的其他的关于rvm介绍的博客或者参考rvm的官网:
如果你已经安装了rvm,并且安装了多个版本的ruby,版本的切换可以使用:rvm use ruby-1.9.3-p194这样的命令来实现,如果想指定一个版本为默认的版本,使用下面的命令:
$ rvm use ruby-1.9.3 --default
2.3 使用RVM安装ruby
$ rvm pkg install readline
$ rvm install 1.9.2 --with-readline-dir=$rvm_path/usr
或者可以安装 1.8.7 版本,也可以是 1.9.3,只要将后面的版本号跟换一下就可以了
同样继续等待漫长的下载,编译过程,完成以后,Ruby, Ruby Gems 就安装好了。
上面的命令也可以直接使用rvm install 1.9.3也可以。
2.4 设置你要使用的ruby版本
RVM 装好以后,需要执行下面的命令将指定版本的 Ruby 设置为系统默认版本
同样,也可以用其他版本号,前提是你有用 rvm install 安装过那个版本
这个时候你可以测试是否正确
$ ruby -v
ruby 1.9.2p290 (2011-07-09 revision 32553) [x86_64-darwin10.8.0]
$ gem -v
1.8.6
$ gem source -r http://rubygems.org/
$ gem source -a http://ruby.taobao.org
注意上面最后的两个命令,因为国内的网络问题,访问ruby官方的gem源经常会出现问题,所以最好把gem源换到taobao为我们免费提供的源服务器。
使用rvm安装ruby的过程中,会自动的安装上gem,那么什么是gem呢?gem相当于java程序中的包,是别人已经写好的一些ruby程序,可以直接来调用实现一些功能。
Rubyems是Rbuy语言的包管理工具,安装Ruby的时候就会自动的已组件的形式自动的安装。在安装的Ruby语言相关组件的时候,直接使用RubyGems包的一条命令就可以安装,并且在使用包管理安装组件的时候,也会自动安装最新的版本。
2.5 使用gem安装Rails框架
上面步过后,Ruby 环境就安装好了,接下来安装 Rails
$ gem install bundler rails
然后测试安装是否正确
$ bundle -v
Bundler version 1.0
$ rails -v
Rails 3.2.1
目前Rails的版本是3.x, 3.x和2.x的版本有非常大的变动,很多2.x的性质都不支持,所以建议大家从3.x开始学习。
3. RubyGems简介
RubyGems是一个方便而强大的Ruby程序包管理器( package manager),类似RedHat的RPM.它将一个Ruby应用程序打包到一个gem里,作为一个安装单元。无需安装,最新的Ruby版本已经包含RubyGems了。
特点:
能远程安装包
包之间依赖关系的管理
简单可靠的卸载(uninstallation)
查询机制,能查询本地和远程服务器的包信息
能保持一个包的不同版本
基于Web的查看接口,能查看你安装的gem的信息。
使用:
1. gem query --remote # shortcut: gem q -R
#列出所有包
2. gem query --remote --name-matches doom # shortcut: gem q -R -n doom
#列出所有名字匹配的包
3. gem install --remote progressbar # shortcut: gem i -r progressbar
#安装指定名字的包。
gem ins -r progressbar --version '> 0.0.1' #这里可以匹配版本
4. gem specification progressbar # shortcut: gem spec progressbar
#查看安装过的指定包详细信息
5.gem uninstall progressbar
#卸载包
6. gem query --local # shortcut: 'gem q -L'
#列出所有本地安装过的包
7. gem ins rake
#在本地安装,如果没有远程安装
8. gem list -b ^C
#列出所有以C开头的包
9. gem_server
开启rdoc服务。可以查看安装包的rdoc
4. 开发工作IDE选择
一般来说,开发Ruby on Rails 程序不推荐使用IDE,因为一般的vim, 还有gedit足以。
但是如果你想用IDE的话,可以考虑选择
(1) SciTE
(2) Aptana IDE