Ruby on rails 实战圣经:安装Rails开发环境

作者: felomeng
发布时间:2015-07-13 11:15:17

安装Rails开发环境

Give someone aprogram, you frustrate them for a day; teach them how to program, you frustratethem for a lifetime. - David Leinweber

在这一章中,我们将介绍如何安装Rubyon Rails的开发环境。开发Rails的环境需要:

·        Ruby 1.8.71.9.2以上版本或JRuby,本书使用1.9.3

·        RubyGems,这是Ruby的套件管理系统,本书推荐1.3.7版或1.8.10以上

·        数据库系统,本书推荐使用SQLite作为新手开发练习之用,正式环境则推荐MySQLPostgreSQL

·        Ruby on Rails,本书适用3.2版本

请注意Rails 3不支持Ruby 1.9.1这个版本

Ruby 1.9系列和之前版本的最大的差异在于编码的处理,例如:如果原始码里出现UTF-8中文,文件第一行必须加上# encoding: utf-8标明,不然会出现invalid multibyte char (US-ASCII)的错误,这一点要特别注意。

JRubyRuby最大的差异在于一些需要编译的RubyGem套件:有些因为性能要求而用C语言撰写的RubyGemJRuby上不一定能够安装使用。所幸这些多半都有替代的套件可以使用,但不在本书介绍范围

以上差不多就是最基本的开发需求。如果需要部署到正式环境,则至少还需要一个专门的网站服务器(ApacheNginx),我们会在布署一章再详细说明。接下来我们会根据不同操作系统来说明如何安装Rails开发环境。

操作系统

Ruby可以运行在WindowsLinuxMac OS XBSDSolaris上。虽然Rails可以在Windows上执行,但是有些套件只有支持Unix-like操作系统,以及Ruby程序在Unix-like系统上执行起来也比较快速及稳定。这是因为绝大多数的RubyRails开发人员都是使用MacLinux系统。

Unix-like泛指各种传统的Unix系统,比如FreeBSDOpenBSDSolaris,以及各种与Unix类似的系统,例如LinuxMac OS X等等。有的是自由软件,有的是商业软件,但都相当程度地保留了原始Unix系统的特性,以及有许多相似之处

因此,Rails的正式上线环境中都会强烈建议使用Unix-like操作系统。作为开发人员,拥有良好用户接口、底层又与Unix类似的Mac操作系统就变成了首选的开发平台,大部分的专业Ruby工作者,也都是使用Mac计算机。不过,使用Windows的朋友也别担心,本书的内容一样都适用,入门学习绝对没问题。只是如果读者的每日工作就是进行Web网站开发,那么我会建议您考虑使用Mac系统或试试Ubuntu Desktop操作系统。和学习Ruby一样,从Windows转换到Mac也是非常有趣的事情,可以获得不少乐趣。

这是使用开源软件需要考虑的因素:开源软件是靠社群维护的,因此较多人使用的主流平台(操作系统、数据库等)就会支持较佳,而越少人用的平台就会地雷较多

数据库

Rails支持的数据库包括SQLite3MySQLPostgresIBM DB2OracleSQLServer等。除了安装数据库软件,我们也需要安装搭配的Ruby函式库(称作AdapterDriver)。作为新手的单机练习,使用SQLite就可以了,本章会先介绍SQLite的安装方式。附录则会介绍如何安装MySQLPostgreSQL

开发环境

命令行窗口

有许多任务作需要透过指令列接口(CommandLine Interface)完成,像是安装套件、执行rails指令、执行测试等等。虽然有一些GUI图型接口工具可以辅助,但是到头来你会发现还是直接在指令列输入最快最可靠,发生问题的时候也容易除错。

Mac OS下要进入命令行窗口,请打开Go->Utilities中的Terminal,或是笔者推荐可以安装iTermUbuntu Desktop下是Applications->Accessories下的TerminalWindows则是「开始->附属应用程序」中的「命令提示字符」。

Unix-like的指令和Windows的指令很多是不同的,以下是一些常用的指令:

用途

Unix-like

Windows

移动所在目录

cd XXX

cd XXX

移动到上一层目录

cd ..

cd ..

显示目前所在目录

pwd

cd

显示目前目录的文件

ls

dir

删除文件

rm XXX

erase XXX

删除目录

rmdir XXX

rmdir XXX

建立目录

mkdir XXX

mkdir XXX

另外,在输入档名或目录名时,可以按tab来自动完成。

开发软件

在开始写点程序之前,让我们先介绍一下有什么推荐的编辑器。相较于静态语言如C++Java喜欢功能丰富的IDE(IntegratedDevelopment Environment)软件,动态语言虽然也有一些IDE软件,但是更多人比较偏好简单的文本编辑器(Editor)加上命令行窗口就可以打遍天下。这是因为对表达能力强的动态语言来说,IDE提供的自动产生程序代码、编译程序、复杂的浏览功能等等都不是这么需要。

Editor文本编辑器

·        Textmate http://macromates.com/ (Mac OS平台)

·        Notepad++ http://notepad-plus-plus.org/ (Windows平台)

·        SublimeText http://www.sublimetext.com (WindowsLinuxMac平台)

·        Vim http://www.vim.org/

·        Emacs http://www.gnu.org/software/emacs/

IDE软件

·        JetBrainsRubyMine http://www.jetbrains.com/ruby/

·        AptanaRedRails http://aptana.com/products/radrails

无论用什么编辑器,请注意文件的格式要储存成UTF-8,无BOM(byte-order mark)表头

版本控制系统

版本控制系统可以保存所有的程序变更,记录谁改变什么、在什么时候、因为什么原因,是团队开发不可或缺的协同工具。Ruby社群普遍使用Git这套分布式版本控制系统。虽然学习Rails不必要学会Git,但是因为Rails本身以及绝大部分的相关套件都是使用Git版本控制系统、并放在GitHub上。所以你最好还是安装有Git并学会基本的操作。关于Git的介绍请参考附录。

安装Ruby及数据库

以下是分别在WindowsMac OSXUbuntu Desktop操作系统上,安装Ruby最快速方便的方式。在上手Rails的开发之后,可以再参考附录,依需求安装不同开发环境。

Windows

Windows上开发Rails最快的方式是下载RailsInstaller安装包,这就包含了Ruby 1.9.3Rails 3.2SQLite 3Git版本控制系统以及SQL Server Adapter。可以让你在很短的安装时间内就开始上手Rails

使用Git版本控制系统请参阅附录

Mac OS X

为了顺利安装一些需要编译的套件,你必须先安装XcodeXCode 4.3之后的版本,还必须手动安装Command Line Tools,请从Xcode menu > Preferences > Downloads进入安装。

接下来安装Homebrew来管理MacOS上的套件,这可以方便安装一些常用的工具软件,例如GitMySQLSQLite,甚至是MemcachedSphinxRedisMongoDB等等都可以透过Homebrew安装。本书的Mac安装步骤中会使用到Homebrew,它的安装步骤是执行:

$ ruby -e "$(curl -fsSkL raw.github.com/mxcl/homebrew/go)"

Homebrew也是用Ruby程序语言撰写的。另一个比较老牌的套件管理工具是MacPort

SnowLeopardLion内建了Ruby 1.8.7,所以这里透过Homebrew安装新的Ruby 1.9.3GitSQLite

$ brew install git
$ brew install sqlite
$ brew install ruby

输入以下指令加入PATH(不同Ruby版本路径会不同,请依照装完brew install ruby之后的提示)

$ echo 'export PATH=/usr/local/Cellar/ruby/1.9.3-p327/bin:$PATH' >> ~/.bash_profile
$ export PATH=/usr/local/Cellar/ruby/1.9.3-p327/bin:$PATH

安装完成之后输入以下指令可以看到安装的版本:

$ git --version
git version 1.8.0.2
$ ruby -v
ruby 1.9.3p327 (2012-11-10 revision 37606) [x86_64-darwin12.2.1]

Linux(Ubuntu 10.04 LTS)

首先进行Linux更新:

$ sudo apt-get update
$ sudo apt-get upgrade

安装必要的套件:

$ sudo apt-get install build-essential bison openssl libreadline6 libreadline6-dev curl git-core zlib1g zlib1g-dev libssl-dev libyaml-dev libsqlite3-0 libsqlite3-dev sqlite3 libxml2-dev libxslt-dev autoconf libc6-dev

接着下载Ruby原始码编译,请参考Ruby官网下载最新1.9版本:

$ wget http://ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.3-p327.tar.gz
$ tar xvfz ruby-1.9.3-p327.tar.gz
$ cd ruby-1.9.3-p327/
$ ./configure
$ make
$ sudo make install

安装完成之后输入以下指令可以看到安装的版本:

$ git --version
git version 1.7.0.4
$ ruby -v
ruby 1.9.3p327 (2012-11-10 revision 37606) [x86_64-linux]

SQLite Manager是一套Firefox plugin提供SQLiteGUI操作接口,可以用来方便检视数据库的内容

中文版Ubuntu的默认apt-get套件服务器tw.archive.ubuntu.com有时候不太稳,必要时你可以修改/etc/apt/sources.list换成debian.nctu.edu.twarchive.ubuntu.com

RubyGems简介

RubyGemsRuby的套件管理系统,让你轻易安装及管理Ruby函式库。你可以在RubyGems上找到所有的Ruby开源套件。另外,读者如果想找RubyRails有哪些好用的套件,也可以浏览看看The Ruby Toolbox,这个站依照套件的热门程度排序,非常方便。

常用指令

gem -v 告訴你 RubyGems 的版本
gem update --system 升級RubyGems的版本
gem install gem_name 安裝某個套件
gem list 列出安裝的套件
gem update gem_name 更新最新版本
gem update 更新所有你安裝的Gems
gem install -v x.x.x gemname 安裝特定版本
gem uninstall gem_name 反安

执行gem install gem_name的时候,它会在安装完之后,自动产生此套件的RDocri文件。不过有鉴于目前网络发达,往往直接Google或是在http://rdoc.infohttp://api.rubyonrails.orghttp://www.ruby-doc.org/core/就可以查询到文件,所以其实不太需要在本地端机器产生文件,况且安装的时间耗时又占硬盘空间。要省略这个步骤,有两种方式

每次安装时,加上以下参数:

$ gem install gem_name --no-ri --no-rdoc

或是新增一个~/.gemrc文件内容如下,默认就不产生文件:

gem: --no-ri --no-rdoc

Linux的用户需要加上sudo,例如sudo gem install gemname

安装Ruby on Rails

首先是SQLiteAdapter

$ gem install sqlite3 --no-ri --no-rdoc

最后是安装Rails了:

$ gem install rails --no-ri --no-rdoc

完成之后,输入rails-v你应该会看到Rails 3.2.1

Ubuntu下需要用root权限安装套件:sudo gem install rails

为了节省安装时间可不安装文件档,这里加上--no-ri--no-rdoc参数


 

来源:http://blog.csdn.net/felomeng/article/details/14221529

推荐: