安装 Rails 开发环境

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

    • Ruby 2.2.2以上版本或JRuby,本书使用2.4.0
    • 数据库系统,Rails默认使用可以作为新手开发练习之用,正式上线环境则推荐使用MySQL
    • Ruby on Rails,本书适用5.0+版本。

    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网站开发,那么我会建议您考虑使用系统或试试Ubuntu Desktop作业系统。和学习Ruby一样,从 Windows转换到头来Mac也是非常有趣的事情,可以获得不少乐趣。

    数据库

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

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

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

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

    不熟稔CLI的话,建议可以阅读The designer’s guide to the OSX command prompt进行恶补。

    开发软件

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

    Editor文字编辑器

    • Sublime Text (WindowsLinuxMac平台)
    • (WindowsLinuxMac平台)
    • Vim

    IDE软件

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

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

    安装Ruby及数据库

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

    Mac OS X

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

    过程中会跳出一个视窗询问是否安装XCode的命令列开发者工具(Command Line Tools),请选择安装。如果没有的话,请手动执行 这个指令。

    完成后回到命令列继续Homebrew的安装。

    Mac OS虽然内建了Ruby,却是比较旧的版本,这里我们透过Homebrew安装最新版的Ruby

    1. $ brew install ruby
    1. $ ruby -v

    请至RubyInstaller下载Ruby安装包,如果Windows是64位元则下载(x64)的版本。安装过程中请点选将Ruby加入可执行的路径(Add Ruby executables to your PATH)

    我们开发用的SQLite3数据库函式库在Windows上不支援Ruby 2.2的版本,请下载2.1的版本。(2015-06-09 的实验结果,后来有没有支援不清楚)

    安装成功之后,打开「附属应用程式」的「命令提示字符」,输入以下指令可以看到安装的版本:

    另外,有一些RubyGems套件会需要编译动作,所以还需要Development Kit。请下载DevKit-mingw64-32-4.7.2-20130224-1151-sfx.exe 或64位元的DevKit-mingw64-64-4.7.2-20130224-1432-sfx.exe,解压缩放在C:\DevKit下,接着在「命令提示字符」中进入这个目录,输入以下指令:

    1. $ cd C:\DevKit
    2. $ ruby dk.rb init
    3. $ ruby dk.rb install

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

    常用指令

    1. gem update --system 升级RubyGems的版本
    2. gem install gem_name 安装某个套件
    3. gem list 列出安装的套件
    4. gem update gem_name 更新最新版本
    5. gem update 更新所有你安装的Gems
    6. gem install -v x.x.x gemname 安装特定版本

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

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

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

      安装Ruby on Rails

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

      为了节省安装时间可不安装文件档,这里加上—no-ri—no-rdoc参数。安装完成之后,输入你应该会看到Rails 5.1.0

      中国大陆地区的朋友如果碰到网络连线问题(你懂的),请改使用。