💎一站式轻松地调用各大LLM模型接口,支持GPT4、智谱、星火、月之暗面及文生图 广告
# **附录 A Ruby 运行环境的构建** ### **A.1 Ruby 的安装** 接下来将介绍在 Windows、MAC OS X、Unix 下使用 Ruby 的方法。在 Windows 下利用 mswin32 版的安装包——RubyInstaller for Windows 安装 Ruby。在 Mac OS X 中默认已经安装了 Ruby,虽然可以直接使用,不过由于版本过于老旧,我们将介绍如何使用软件包管理工具升级 Ruby。在 Unix 下,我们将会介绍用从源代码编译的方法安装 Ruby。 关于 Ruby 的安装方法,也可以参考以下网页。 - **下载 Ruby(Ruby 官方网站):** [https://www.ruby-lang.org/zh_cn/downloads/](https://www.ruby-lang.org/zh_cn/downloads/) 请自行安装软件。 ### **A.2 在 Windows 下安装** 本节介绍如何使用 RubyInstaller 安装 Ruby。首先可从以下网站下载 RubyInstaller。 - **Ruby Installer for Windows** :[http://rubyinstaller.org/](http://rubyinstaller.org/) 点击首页的 Download 链接则会跳转到下载页面,从上面可以看到安装包的一览表,点击对应的下载链接就可以下载 Ruby 2.0.0-p451 安装包 1。 1翻译本书时最新版本为 Ruby 2.0.0-p451。——译者注 下面我们来介绍通过 RubyInstaller 安装 Ruby 的步骤。下面的截图是在 Windows 8 Pro 64 位版下安装 Ruby 2.0.0-p451 时截取的。 ### **A.2.1 开始安装** 双击下载后的 rubyinstaller-2.0.0-p451-x64.exe 图标,启动 Installer。 在语言选择对话框中直接点击 OK 按钮(图 A.1)。 ![{%}](https://box.kancloud.cn/2015-10-26_562e020de50a1.png) **图 A.1 语言选择对话框** ### **A.2.2 同意软件使用许可协议** 接下来显示的是 RubyInstaller 的软件使用许可协议。RubyInstaller 本身是遵循 BSD 许可证的,Ruby 以及第三方的软件的许可证需要另外再确认。如果不是用于商业用途,一般不会有什么问题。确认后,选择 I accept the License,点击 Next 按钮。 ![{%}](https://box.kancloud.cn/2015-10-26_562e020e02aca.png) **图 A.2 软件使用许可协议** ### **A.2.3 确认安装路径以及选项** 安装时我们可以指定安装路径以及一些安装选项(图 A.3),选项有以下 3 个。 - **安装 Tcl/Tk 支持** Tcl/Tk 是用于创建视窗程序的 GUI 类库。虽然本书并没有涉及该内容,不过即使安装也不会有什么影响。 - **把 Ruby 执行文件设置到环境变量 PATH** 通过设置环境变量 PATH,在普通的命令行可以直接执行 Ruby.exe。与其他程序的 DLL 读取也会有关联,在不清楚影响范围时,请不要选择。 - **把 .rb 与 .rbw 文件与 Ruby 关联** 双击扩展名为 .rb 与 .rbw 的文件时,会把文件作为 Ruby 脚本来执行。 选择需要的选项后,点击 Install 按钮。 ![{%}](https://box.kancloud.cn/2015-10-26_562e020e1369f.png) **图 A.3 确认安装路径以及选项** ### **A.2.4 安装进度** 显示安装进度(图 A.4)。 ![{%}](https://box.kancloud.cn/2015-10-26_562e020e26160.png) **图 A.4 安装进度** ### **A.2.5 安装完成** 安装完成后,点击 Finish 按钮结束 RubyInstaller 的安装(图 A.5)。 ![{%}](https://box.kancloud.cn/2015-10-26_562e020e39bdf.png) **图 A.5 安装完成** ### **A.2.6 启动控制台** 系统为 Windows 8 时,点击开始界面上的 Start Command Prompt with Ruby,系统会自动加载执行 Ruby 需要的环境变量,然后启动控制台(图 A.6)。 ![{%}](https://box.kancloud.cn/2015-10-26_562e020e4f0f5.png) **图 A.6 启动 Ruby 控制台** 系统为 Windows 7 时,按照以下顺序启动控制台:开始→ 所有程序 → Ruby-2.0.0-p451-x64 → Start Command Prompt with Ruby。 ![{%}](https://box.kancloud.cn/2015-10-26_562e020e691a3.png) **图 A.7 启动 Ruby 控制台(Windows 7)** 启动控制台(图 4.8)后,输入 ruby -v,可以确认 Ruby 的版本。显示下图信息时表示已经安装完毕。 ![{%}](https://box.kancloud.cn/2015-10-26_562e020e7efae.png) **图 A.8 Ruby 的控制台** ### **A.3 在 Mac OS X 下安装** Mac OS X 虽然会默认安装 Ruby,但因为是旧版本的,所以我们需要自行安装最新版本。 为了确认当前 Ruby 的版本,首先要启动控制台。通过在 Finder 中选择应用程序→工具→终端来启动控制台。 输入 Ruby -v 就可以显示当前 Ruby 的版本。 > **执行示例** ~~~ > ruby -v ruby 1.8.7 (2012-02-08 patchlevel 358) [universal.darwin12.0] ~~~ 像这样,显示 1.8 则表示系统安装的是旧版本的 Ruby。 自行安装最新版 Ruby 时,我们可以选择使用软件包管理工具安装,或者从源代码编译安装。 从源代码安装的步骤与在 Unix 下的安装是一样的,请参考 A.4 节。 下面介绍通过安装包管理系统 MacPorts 安装 Ruby 的方法。 ### **通过 MacPorts 安装** MacPorts 是 Mac OS X 平台下使用的软件包管理工具。首先要在 MacProts 的官方网站([http://www.macports.org](http://www.macports.org))下载最新的安装包。请注意,不同的 Mac OS X 的版本对应的下载 .dmg 文件是不一样的。双击下载好的安装文件后,按照画面指示即可安装 MacPorts。 安装完成后,首先执行以下命令,把 MacPorts 以及软件包列表更新到最新版本。使用 port 命令需要用到超级管理员权限,因此需要配合 sudo 命令一起使用。 ~~~ > sudo port -v selfupdate > sudo port -d sync ~~~ 系统询问密码时,输入当前用户的密码即可。 接下来就可以安装 Ruby 了。 ~~~ > sudo port install ruby20 ~~~ 这样就可以安装 Ruby2.0.0 了。 但安装后,需要输入 `ruby20` 才可以执行 ruby 命令。使用以下命令,输入 `ruby` 时,实际执行的是 `ruby20`。 ~~~ > sudo port select ruby ruby20 Selecting 'ruby20' for 'ruby' succeeded. 'ruby20' is now active. ~~~ MacPorts 会将 Ruby 安装在 /opt/local/bin 目录下。不希望指定文件路径,直接使用通过 MacPorts 安装的文件时,可将以下内容追加到环境变量设定文件 ~/.bashrc 中。 ~~~ # PATH 追加 export PATH=/opt/local/bin:/opt/local/sbin:$PATH # MANPATH 追加 export MANPATH=/opt/local/man:$MANPATH ~~~ 可用下面的命令,确认通过 MacPorts 安装的 Ruby 版本。 ~~~ > port select --show ruby The currently selected version for ‘ruby’ is ‘ruby20’ ~~~ ### **A.4 在 Unix 下安装** Unix 下有可能已经默认安装了 Ruby,可在控制台执行以下命令确认。 ~~~ > ruby -v ~~~ 像下面那样显示 Ruby 版本为 2.0.0 时可不重新安装。 ~~~ ruby 2.0.0p0 (2013-02-24 revision 39474) [i386-netbsdelf] ~~~ 如果安装的是 Ruby 1.9 等旧版本 Ruby,读者可考虑安装最新版本。 ### **A.4.1 从源代码编译** 首先通过以下 URL 下载 Ruby 的源代码。 - ftp://ftp.ruby-lang.org/pub/ruby/ruby-版本号-p补丁级别.tar.gz 版本号部分表示的是 Ruby 的版本。本书翻译时最新的版本为 ruby-2.0.0-p451,因此最新的 URL 如下所示。 - ftp://ftp.ruby-lang.org/pub/ruby/ruby-2.0.0-p451.tar.gz 执行以下命令,解压压缩包后,会自动创建 ruby-2.0.0-p451 目录。 ~~~ > tar zxvf ruby-2.0.0-p451.tar.gz ~~~ 进入该目录,按顺序执行以下命令,则安装完毕。 ~~~ > cd ruby-2.0.0 > ./configure > make > make test > make install ~~~ 最后的 `make install` 命令需要配合 sudo 命令,使用超级管理员权限执行。没有超级管理员权限时,要么请拥有权限的管理人员安装,要么安装在当前用户可读写的目录下。例如,执行以下命令可将 Ruby 安装在当前用户的主目录下。 ~~~ > ./configure --prefix=$HOME ~~~ 这种情况下,ruby 命令、irb 命令等将会安装在 $HOME/bin 目录下。 ### **A.4.2 使用二进制软件包** 在 Unix 下编译安装 Ruby 虽然简单,但使用各平台的软件包管理工具安装则会便于日后管理。现在广泛使用的平台(各发行版的 Linux、BSD 等)中,都有各自对应的二进制或者从源码编译好的软件包,读者可根据各平台的使用方法安装 Ruby。 ### **A.4.3 使用 Ruby 软件包管理工具** Ruby 并非某个平台独占的语言,还有一些跨平台的 Ruby 专用的软件包管理工具。其中 rvm 以及 rbenv 比较有名。在这里我们来介绍一下 rbenv 的使用方法。 rbenv 的的源码托管在 github 网站,通过 git 命令获取。下面,我们把 rbenv 的源码下载到当前用户的主目录下的 .rbenv 目录中。 ~~~ > git clone git://github.com/sstephenson/rbenv.git ~/.rbenv ~~~ 环境变量 PATH 以及 rbenv 的初始化信息可在 shell 的设定文件中设定。使用 bash 时,执行以下命令,将必要的初始化信息设定到环境设定文件 ~/.bashrc 中。 ~~~ > echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc > echo 'eval "$(rbenv init -)"' >> ~/.bashrc ~~~ 然后使用下面的命令更新 shell 的状态,也可以直接重启 shell。 ~~~ > exec $SHELL -l ~~~ 使用 git 命令下载 ruby-build。 ~~~ > git clone git://github.com/sstephenson/ruby-build.git ~/.rbenv/plugins/ruby-build ~~~ 这样就可以使用 rbenv install 命令了。如果执行 rbenv rehash 命令,使用 rbenv global 命令,则可将 ruby 命令设定为 2.0.0 版本。 ~~~ > rbenv install 2.0.0-p451 > rbenv rehash > rbenv global 2.0.0-p451 > ruby -v ruby 2.0.0p451 (2014-02-24 revision 45167) [x86_64-darwin13.1.0] ~~~ ### **A.5 编辑器与 IDE** 一般我们用文本编辑器编写 Ruby 程序。可对应 Ruby 语法的编辑器,提供了诸如在适当的地方进行代码缩进,对 if、while 等关键字、常量、字符串等加上颜色等提高编程效率的功能。 读者可参考使用本节介绍的编辑器、IDE 工具,当然也可以选择使用符合自己习惯的工具。 在 Unix、Mac OS X 系统上经常使用的编辑器有 Vim 和 Emacs。可免费使用的 Unix 中,一般都可以通过 OS 提供软件包管理工具安装。在使用英语的 Mac 用户中,Sublime Text 2 非常流行,而在日本则不太普及。 Windows 平台下的默认安装的记事本(notepad),其编辑功能非常弱,几乎不能用于编写程序。因此需要自行安装可对应 Ruby 编程的编辑器。 除了普通的编辑器外,还可以使用所谓的 IDE(集成开发环境)提供的编辑器编写 Ruby 程序。IDE 除了可以编写程序,还集成了执行、测试等功能。 以 Java IDE 为基础的 Aptana Studio(原名 Radrails)、RubyMine、NetBeans 等都是比较常用的 IDE。 - **RadRails** :[http://www.radrails.org/](http://www.radrails.org/) - **RubyMine** :[http://www.jetbrains.com/ruby/](http://www.jetbrains.com/ruby/) - **NetBeans** :[https://netbeans.org/](https://netbeans.org/) ### **没有好用的编辑器就不能编写 Ruby 程序吗** 看到这里,也许有的读者会认为若没有好用的编辑器就不能用 Ruby 编写程序。一般 Unix 系统默认都安装了 Vi 或者 Emacs,因此对使用 Unix 的读者来说问题不大,但使用 Windows 的读者却大部分只安装了记事本。 但实际情况并非如此。笔者在创建简单的程序,或者只是稍微简单修改一下程序时也经常使用记事本或通过 irb 等工具直接执行 Ruby 程序。这种情况下,虽然需要在代码缩进等方面下点功夫,但也没想象中那么花时间。 但对于初学者来说,为了便于快速入门,建议还是使用上手门槛较低的编辑器,因此我们在这里介绍了 Ruby 的各种常用的编辑器。熟练掌握编辑器的使用方法,是写出优质程序的捷径。