安装和配置 Ruby 支持
撰稿人:Chris Kutler
2008 年 11 月 [修订版本号:V6.5-1]
本文将介绍如何在 NetBeans 6.5 IDE 中下载、安装和配置 Ruby 支持。
目录

下载 Ruby 支持
如果没有安装 NetBeans 6.5 IDE,请转至 NetBeans IDE 下载页,并下载 "Ruby" 包或 "All" 包。如果已经安装了 NetBeans IDE 6.5,但是 NetBeans IDE 6.5 中没有 Ruby 支持,请完成以下步骤,将 Ruby 支持添加到该 IDE 中。
如果不确信 IDE 是否具有 Ruby 支持,请从主菜单中选择“文件”>“新建项目”。如果在“类别”列表中看到了 "Ruby",则您具有 Ruby 支持。
- 如果您使用代理上网,可在主菜单中选择“工具”>“选项”,并选择“手动代理设置”,输入您的 HTTP 代理服务器的名称和端口号,然后单击“确定”。
- 从主菜单中选择“工具”>“插件”。
-
在“插件”对话框中,单击“可用插件”标签,然后滚动至 "Ruby" 类别(如下图所示)。

- 选中“Ruby 和 Rails”复选框,这样就在 NetBeans IDE 中添加了 Ruby 支持。
-
(可选)选中“JRuby 和 Rails 发行版本”复选框,下载并安装 JRuby 软件和 Ruby on Rails 框架。
注意:必须在系统上安装 Ruby 或 JRuby 软件,才可使用 Ruby 和 Rails 发行版本。如果您未安装此软件,则必须安装此插件,或者下载并安装 JRuby 或 Ruby 软件,然后才能在 IDE 中开发 Ruby 项目。
-
(可选)选中以下一个或多个插件:
- 附加的 Ruby 颜色主题。为 Ruby 文件类型提供其他编辑器颜色主题。
- 其他的 Ruby 提示。为 Ruby 提供代码提示,说明代码是在 IDE 的上一发行版后开发的。
- GlassFish V3 JRuby 集成。使您可以从 IDE 中直接在 GlassFish V3 服务器上运行 JRuby 应用程序。
-
单击“安装”。
此时会出现一个 NetBeans IDE 安装程序。
- 在 NetBeans IDE 安装程序中,单击“下一步”。
- 阅读许可证协议,然后选择“我接受所有许可协议中的条款”选项,并单击“安装”。
- 安装完成后,请选择“立即重新启动 IDE”或“稍后重新启动 IDE”,然后单击“完成”。
配置 IDE 以使用您自己的 Ruby 安装(可选)
初次安装时,Ruby 和 Rails 模块将注册在系统上检测到的任何 Ruby 安装。要添加额外的 Ruby 或 JRuby 安装,请完成以下步骤。
-
在 IDE 中,从主菜单中选择“工具”>“Ruby 平台”。
此时将出现 Ruby 平台管理器,如下图所示。

-
执行以下任一操作可添加其他 Ruby 或 JRuby 平台。
- 单击“自动检测平台”,使 IDE 自动检测并添加已安装在系统上的平台。
- 单击“添加平台”添加特定平台,然后导航至 "Ruby Binary" 并选择,单击“打开”。
- 单击“确定”关闭“选项”对话框。
注意:IDE 捆绑了 JRuby 软件,这使您可以在安装 NetBeans Ruby 支持后尽快编写 JRuby 和 Rails 应用程序。此 JRuby 将安装在 NetBeans 安装文件夹下。最后,您应该下载最新的 JRuby 软件并将其安装在更稳定且便于访问的位置。使用 Ruby 平台管理器在 IDE 中注册 JRuby 安装,并使用该平台处理 JRuby 应用程序。至少,您应该向 JRuby gems 资源库中添加 rails 2.1.0、rake 0.8.3、rspec 1.1.4、ruby-debug-base 0.10.2、ruby-debug-ide 0.3.1 和 activerecord-jdbc-adapter 0.8.2 gems。
有关如何获取 Ruby 软件的信息,请访问 www.ruby-lang.org。有关如何获取 JRuby 安装的信息,请访问 jruby.codehaus.org 和 kenai.com/projects/jruby。
管理 Gem
Gem 是第三方 Ruby 库。IDE 提供了 Ruby Gems 管理器,可以用来添加和维护 gem。要打开该管理器,可在主菜单中选择“工具”> "Ruby Gems"。管理器包含以下标签:
- 已更新。列出平台中具有可用更新版本的已安装 gem。
- 已安装。显示已安装在选定 Ruby 平台中的 gem 的列表。阅读前一部分,了解如何在 IDE 中注册 Ruby 平台。
- 新 Gem。列出可添加到选定 Ruby 平台的 gem。要缩小列表的范围,请在“搜索”文本框中键入一个搜索字符串。IDE 将按照您键入的内容缩小列表范围。缺省情况下,IDE 仅列出最新版本的 gem,并从该列表中执行 gem(如果已安装了该版本)。如果您要查看所有版本,请选中“设置”标签中的“获取所有 Gem 版本”复选框。
- 设置。使用此标签可以配置代理并配置下列选项。如果启用这些选项,IDE 则将花费较长时间来收集和显示 gem 列表。
- 获取所有 Gem 版本。选中此复选框可以列出所有可用的 gem 版本。
- 获取详细的 Gem 说明。选中此复选框可以为每个 gem 装入详细的说明。
警告:IDE 将 Rails 2.1.0 与 JRuby 捆绑在一起。如果更新 Rails gem,请至少更新到 Rails 2.1.2。JRuby 中不支持版本 2.1.1 所使用的 Ruby 功能。

注意:RubyGems wiki 页提供了如何启用 Ruby Gems 管理器管理本地 Ruby gem 存储库的信息。
有关 Ruby Gems 的更多信息,请访问 www.ruby-lang.org/en/libraries/。有关 Rails 的更多信息,请访问 rubyonrails.org。
结合使用数据库服务器和 JRuby
可以从 JRuby on Rails 应用程序中通过以下三种方法中的一种来访问数据库。
- MySQL 适配器。JRuby 中附带 MySQL 适配器。该适配器的使用就像本地 Ruby on Rails 应用程序一样简单。如果没有在“新建项目”向导的步骤 3(“数据库配置”)中输入任何信息,IDE 将使用此设置。如果使用此适配器,请不要选中“使用 JDBC 访问数据库”复选框。
-
JDBC 适配器。JRuby 和 Rails 发行版本插件包括 ActiveRecord-JDBC 适配器 gem,这使 JRuby on Rails 应用程序可以访问提供 JDBC 3.0 兼容驱动程序的数据库服务器,如 MySQL、PostgresSQL、Oracle(R)、HSQLDB 和 Java DB(也称为 Derby)。该 JDBC 驱动程序必须是纯 Java 驱动程序。
要在 Ruby on Rails 项目中使用 JDBC adapter,可在创建该项目时选择 “使用 JDBC 访问数据库”复选框,如下图所示。
如果使用的是 MySQL 或 PostgreSQL 数据库服务器,IDE 会自动将捆绑的驱动程序添加到 JRuby 的类路径中。对于其他数据库服务器,如果已在 IDE 中注册了数据库服务器,IDE 将向 JRuby 类路径中自动添加驱动程序。否则,您必须获取数据库服务器的 JDBC 3.0 驱动程序,并将它添加到 JRuby 类路径中。要将驱动程序添加到类路径,右键单击项目节点,从弹出菜单中选择“属性”,选择“Java”类型,然后单击“添加 JAR/文件夹”。
注意:如果已经注册了 GlassFish 服务器,或者已经配置 IDE 来使用 Sun Microsystems, Inc. Java Development Kit (JDK) 6.0,则 IDE 会自动注册 Java DB 数据库服务器。
如果您正在 GlassFish v3 服务器上运行应用程序,则还必须将驱动程序复制到项目的 JRuby 安装的 lib 文件夹,然后重新启动服务器。如果您不确定 JRuby 安装的位置,请右键单击项目的节点,并从弹出式菜单中选择“属性”。单击“管理”。此时将出现 Ruby 平台管理器,其中显示了指向 JRuby 安装的路径。

- 数据库服务器的 JDBC 适配器。已为数据库服务器编写了多个 JDBC 适配器 gem。这些 gem 包括 JDBC 3.0 兼容驱动程序。例如,您可以安装并使用以下 gem。
- H2. activerecord-jdbch2-adapter
- HSQLDB. activerecord-jdbchsqldb-adapter
- Java DB/Apache Derby. activerecord-jdbcderby-adapter
- MySQL. activerecord-jdbcmysql-adapter
- PostgreSQL. activerecord-jdbcpostgresql-adapter
- SQLite3. activerecord-jdbcsqlite3-adapter
要使用这些适配器中的任一个,请在“配置”节点下编辑 database.yml 文件中的适配器设置。对适配器设置使用 gem 名称的中间部分。例如,将 MySQL 数据库的适配器设置为 jdbcmysql。
使用这些适配器时,请不要选中“使用 JDBC 访问数据库”复选框。
注意:如果操作系统的主机文件不包含 localhost,请将配置中的主机设置更改为 127.0.0.1。如果通过 Rake 命令或数据库迁移命令访问数据库时出错,请尝试更改 host 配置以修复问题。您必须重新启动服务器,才能使更改生效。也应注意在某些系统中,应使用小写字母进行数据库设置。
注意:“运行 Rake 任务”> "db" >“创建”菜单选项只适用 MySQL、PostgreSQL、SQLite 和 SQLite3 适配器。对于其他数据库服务器适配器,包括 JDBC 适配器,可使用以下步骤之一创建数据库:
在集成的 GlassFish V3 应用程序服务器上运行 JRuby 应用程序
GlassFish v3 Prelude 应用服务器附带于 Ruby 包中,是 JRuby on Rails 应用程序的缺省服务器。
使用 GlassFish v3 服务器运行 Rails 应用程序时,URL 与使用 WEBrick 或 Mongrel 时运行的 URL 不同。端口为 8080,并且您可以在 URL 中包括项目名称。如果您不需要在 URL 中包括项目名称,请执行以下步骤。
- 在“服务”窗口中,展开“服务器”。
- 右键单击 "GlassFish V3" 节点,并从弹出式菜单中选择“属性”。
- 单击 "JRuby" 标签。
- 选择“在根上下文中部署所有 Rails 应用程序”。
注意:选择不在 URL 中包括项目名称可能会导致问题。如果将多个 Rails 应用程序部署到服务器,且这些应用程序具有相同的路由,则服务器可能会访问错误的路由。
GlassFish v3 服务器用于运行应用程序的 JRuby 平台取决于服务器的启动方式。如果在您运行应用程序时服务器没有运行,则服务器会使用应用程序的 JRuby 平台。否则,它会使用启动服务器的平台。如果在启动服务器时没有指定平台,则服务器将使用在服务器的“属性”对话框的 "JRuby" 标签中指定的缺省 JRuby 平台。
由于 SQLite 在磁盘上的数据库文件之间进行直接读写,因此如果应用程序使用 SQLite,则您必须编辑 database.yml 文件,以指定指向数据库的完整路径,如 database: /usr/local/sqlite/var/rubyweblog_development.sqlite
IDE 不会将“项目属性”对话框中的“Rails 环境”设置传递到 GlassFish v3 服务器。这在修补程序或以后的发行版中可能会有所变更。
如果您需要以不同的模式(如生产模式)在 GlassFish v3 服务器上运行应用程序,请取消注释并修改 environment.rb 文件中的以下语句。为了使更改生效,您必须取消部署应用程序或重新启动服务器。您可以从“服务”窗口中的“服务器”节点中执行这两项操作。
# ENV['RAILS_ENV'] ||= 'production'
注意:如果您在将 RAILS_ENV 设置为生产模式时运行测试套件,则测试套件可能无法正确发挥作用。
将 JRuby 应用程序部署到应用程序服务器
IDE 提供了与 Warbler 插件的集成。创建 Rails 项目时,您可以选择“添加 Rake 目标以支持应用服务器部署”,以将 Warbler 插件和 war Rake 任务添加到项目中。如果您尚未安装项目平台的 Warbler gem,则“新建项目”向导将会转至最后一步,在此单击一个按钮即可安装 Warbler gem。
如果要将 Warble 插件添加到现有项目中,请安装 Warble gem(如果尚未安装)。然后,打开终端窗口,将目录更改为项目的根目录,并键入以下命令。
jruby -S warble pluginize
当您准备好部署应用程序时,请打开 database.yml 文件,以确保正确设置生产配置。然后,使用 war Rake 任务生成 WAR 文件,并将该文件部署到所需的应用服务器。
有关使用 Warbler 的详细信息,请转至 warbler.kenai.com。
后续步骤
>> 更多 Ruby 文档