阿里云「飞天发布时刻」2024来啦!新产品、新特性、新能力、新方案,等你来探~ 了解详情
写点什么

RailsInstaller 简化了 Rails 在 Windows 上的安装过程

  • 2011-02-02
  • 本文字数:2927 字

    阅读完需:约 10 分钟

RailsInstaller 向 Windows 开发者提供了一种便捷的方式以轻松、快速创建 Ruby on Rails 3 应用。到目前为止,Windows 开发者需要自己搭建好 Ruby、RubyGems、Rails 以及 SQLite 才能开始创建 Rails 应用。多亏了来自 Engine Yard 的 Nic Williams 博士及其团队,现在一切都变得简单异常。

目前的 RailsInstaller 提供了如下功能:

  • 通过向导的轻松安装
  • Rails 3.0.3
  • Ruby 1.8.7——p330
  • SLQite 3.7.3
  • Git 1.7.3.1
  • DevKit

InfoQ 有幸采访到了 Nic Williams 博士以深入了解 RailsInstaller 项目及其现在和未来将提供的功能。

提到 RailsInstaller,人们的第一个想法就是既然可以自己安装每一个组件,为何还需要 RailsInstaller 呢。

Rails 新手需要一键安装的软件包尽快上手。如果你的朋友对 Ruby on Rails 感兴趣,那么你可以直接给他个 URL,剩下的东西他自己就可以轻松搞定。如果你正在进行 Rails 培训课程,那么如何让所有学生都能尽快上手呢?这正是 RailsInstaller 的目标所在。用于帮助开发者快速上手 Rails 的一站式解决方案。

既然项目的大部分都是由 Engine Yard 的员工所资助的,我们想知道项目的开发是 Nic Williams 个人的事情还是 Engine Yard 公司的事情:

我们热爱 Ruby,我们也热爱使用 Ruby 的开发者。在 Engine Yard,我们都是 Ruby 用户,如果每个开发者,每个咨询师都能从 Java/PHP/.NET 转到 Ruby on Rails 进行开发,那将是多么好的一件事啊。 如果我们能简化这种转换,那么这些开发者或许就会真的转换过来。这正是我们所期望的事情。

Engine Yard 承诺支持开源并对 Rails 社区有所贡献,这个项目也是 Engine Yard 承诺的一部分。

这种项目由很多内容构成,我们很难独自完成一切。在被问到都有谁参与到了项目中,Nic 博士提到了开源社区的一些知名人物:

Wayne E Seguin 和 Luis Lavena 构建了 Windows 1.0.0 版。Wayne 完成了两周的 sprint,Luis 则作为指导。 Wayne 因其成功的 RVM 项目(Ruby Version Manager,Ruby 版本管理器)而名声大噪,并于最近回到了 Engine Yard。如果你不知道,那么应该清楚现在 Ruby 的版本不止一个,但 RVM 可以跨越多个平台保持 Ruby 的简单性与一致性,这样你就可以安装和使用任意的 Ruby 版本了。RVM 用户只需选择需要使用的 Ruby 即可。

Luis 则是 Ruby on Windows 的教父级人物。他曾经独自开发出了一键式的安装器(One-Click Installer),后来又创建了后继者——新的 RubyInstaller (“RubyInstaller for Windows“)。在过去 5 年多的时间内,Ruby 的一键式安装器已经有 500 多万的下载量了,不可思议吧。

Ruby 社区的很多人都知道 Ruby 1.9.2 是最快、最棒的 Ruby 实现。RailsInstaller 带有 Ruby 1.8.7,我们想知道为什么会带有这个版本呢:

RailsInstaller 安装器有两个目标(本周我们发布了一个 Windows 版本的)——人们能否在 5 分钟内上手 Rails 应用开发;是否使用了每个 Ruby 开发者都在使用的基本工具?第一个目标是让用户喜欢上 Rails 与 Ruby;第二个目标是让他们能够融合到现有的、极富激情的 Ruby 社区。 这种想法指导着我们的决策。这也是 Windows 版本的安装器为何选择 Ruby 1.8.7 而非 Ruby 1.9.2 的原因所在。在当今的 Windows 领域,用户如果使用 Ruby 1.8.7 会获得更好的体验,Bug 也更少。Ruby on Rails 与 Ruby 新手并不需要知道这些。因此我们替这些新用户做了决定,将最棒的 Ruby 工具打包在一起并随 RailsInstaller 安装器一同发布。

如果 RailsInstaller 用户喜欢上了 Ruby,了解了 Ruby 1.9.2 并问”我怎么没有使用 Ruby 1.9.2?“并且想要尝试一下,那么他们就可以去做了。他们会下载 Ruby 1.9.2、下载 DevKit、安装所有的 Gems,发现 Bug,并成为 Ruby 社区的一员。

有一天,我们会携带 Ruby 1.9.2 的。也许是 Rubinius 或 JRuby。无论哪个都会给用户最棒的体验。

但目前,我们只希望用户能够爱上 Ruby,爱上 Rails。

InstantRails 已经成为 Windows 开发者上手 Ruby on Rails 的可靠环境。InstantRails 提供了一个图形用户界面以帮助不熟悉 Ruby 或 Rails 所用的命令行工具的 Windows 用户。Nic 博士谈到了关于 RailsInstaller 未来的思考以及是否应该向开发者提供图形用户界面:

这里我想说的是,InstantRails 审核者 Rob Bazinet 也是 InstantRails 最后一个维护者,他与我就 InstantRails 2011(现在叫 RailsInstaller)谈了很久。这是一个说不清楚的问题。 从 2005 年到 2008 年,我们在使用 InstantRails,这也是我 2005 年开始 Rails 开发时所用的工具。但遗憾的是,InstantRails 在 2007 年曾停止开发了,最后一个发布版中带有 Ruby 1.8.6,它与 Rails 3 不兼容。InstantRails 的代码基也太老了 ——我相信它可以追溯到 2005 年之前——我们认为开始新的代码基是最快的途经了。

谢谢你 Rob,你更新了 InstantRails 站点,加上了一个指向 RailsInstaller 1.0 的链接,将其作为 InstantRails 的“下一版本”。

我还不太确定对 GUI 到底采取何种处理方式。构建一个独立的 GUI?只是为了 RailsInstaller for Windows 的用户?还是再为 OS/X 创建一个 RailsInstaller GUI?还是与现有的流行 IDE 集成,还是与 Windows 或 OS/X 用户在开始学习 Rails 时所用的文本编辑器集成?或许我们应该将注意力放在与 Visual Studio 和 Xcode 的集成?

这个问题问的好,但我现在还没有明确的答案,不好意思。

知道如何在 Linux 上运行 Rails 的开发者应该知道 Apache Web Server 的复杂细节,但 Windows 开发者对这方面就了解甚少了。既然开发者主要使用 IIS,那么讨论就应该转移到部署与托管策略上了:

RailsInstaller 之所以优秀,主要在于它关注于“知道这些事情的人”与这些话题之间的关系。比如说,能够让 IIS 和 Rack(Rails 应用低层次的接口)协作工作。 Brian Hogan 列出了 Windows 用户在使用 Ruby 时可能感兴趣的问题

  • “如何将其与 ActiveDirectory 搭配使用”?
  • “如何使用目前正在使用的所有.NET 程序库”?
  • “如何将其与 SharePoint 集成”?
  • “最后,他们会问关于 IIS 的问题”。

如果我们能提供 Windows 部署的解决方案,那么就可以将其打包到 RailsInstaller 当中或是作为扩展包。

在被问到如何能让开发者参与到项目的开发当中时,Nic 博士说到:

安装器与 Web 站点都是开源的,托管在 GitHub 上。可以在 Pivotal Tracker 上查看到 RailsInstaller for Windows 的发布计划

对于任何项目,特别是新项目来说,重要的是能为开发者提供支持,让他们能够提出问题、汇报 Bug 以及提出建议。

RailsInstaller Google Group 目前的关注点放在了开发者的讨论上。 发现的大多数“Bug”最后都会被再次汇报给每个单独的打包项目,比如 RubyInstaller、Core Ruby、Rails、Bundler 等等。系统向用户提供了一个入口点,用户可以提出自己的问题,社区可以为用户提供解决方案。希望这能对 Rails 新手提供帮助。

如果我们能够成功地选择并将条目打包到安装器中,那么我们基本就不会遇到与 Bug 相关的问题了,但这只是我的梦想而已。

发布 RailsInstaller,获得所有的积极反馈。这是我的梦想。

请感兴趣的读者访问 RailsInstaller 站点以了解关于该项目的更多信息以及上手指南。

查看英文原文: RailsInstaller Provides Easy Rails on Windows Installation

2011-02-02 05:514252
用户头像

发布了 88 篇内容, 共 258.5 次阅读, 收获喜欢 8 次。

关注

评论

发布
暂无评论
发现更多内容

开发者聚焦 | 不容错过的开发者新专栏就要来啦!

亚马逊云科技 (Amazon Web Services)

亚马逊云科技

Golden Gate’s (GGX) : 通过多方计算实现跨链一体化

股市老人

商业版数据库断供风险愈发扩大,浅谈GaussDB与国内企业的应对方式

轶天下事

以GaussDB举例,浅谈商业版数据库的断供风险以及国产数据库的重要性

轶天下事

用友BIP全球司库十问之大型企业如何管好资金预算?

用友BIP

全球司库

在AIGC魔法世界里,你是麻瓜吗?

白洞计划

AIGC

在AIGC魔法世界里,你是麻瓜吗?

脑极体

AI

第四课 设计千万级学生管理系统考试试卷存储方案

家有两宝

架构训练营

【TypeScript】TS条件类型

不叫猫先生

typescript 6 月 优质更文活动

聊聊 220V交流 过零检测

矜辰所致

电路设计 过零检测 6 月 优质更文活动

基于STM32的智能饮水机系统设计

DS小龙哥

6 月 优质更文活动

Wallys/wifi 6 router ipq8072 enterprise wireless dual band /support wifi6e card

Cindy-wallys

IPQ8072

MySQL一个关于derived table的bug描述与规避

GreatSQL

科勒亮相设计上海2023,全方位打造敢创艺术空间

科技热闻

科勒携多款重磅产品惊艳亮相第27届中国国际厨卫展

科技热闻

实现10倍提升!昇思MindSpore SPONGE套件助力核磁共振蛋白质动态结构解析加速

彭飞

昇思 昇思MindSpore

华为云GaussDB:为企业提供智能、高效、安全的数据库解决方案

轶天下事

科创西安:秦创原·信创人才培养暨鸿蒙生态产教融合发展论坛举行

坚果

OpenHarmony 6 月 优质更文活动

人生三借、成就伟业

科技热闻

2023-06-20:给定一个长度为N的数组arr,arr[i]表示宝石的价值 你在某天遇到X价值的宝石, X价值如果是所有剩余宝石价值中的最小值,你会将该宝石送人 X价值如果不是所有剩余宝石价值中的

福大大架构师每日一题

Go rust 算法、 福大大架构师每日一题

检测客户端访问设备的一种新方法

为自己带盐

.net core 设备检测

SAP UI5 OData 谣言粉碎机:极短时间内发送两个 Odata 请求,前一个会自动被 cancel 掉吗

Jerry Wang

SAP OData ui5 思爱普 6 月 优质更文活动

向量数据库的行业标准逐渐清晰!Vector DB Bench 正式开源!

Zilliz

非结构化数据 测试工具 Milvus 向量数据库 zillizcloud

谁是蔡崇信?|耶鲁大学QA

B Impact

SUFS: 存储资源使用量预测服务

KaiwuDB

KaiwuDB 存储资源使用量预测

ChatGPT在前,华为盘古Chat在后

这我可不懂

人工智能 华为 ChatGPT

如何用手机在区块链上发行虚拟币?一键发币3分钟搞定

加密先生

发币教学 一键发币

C语言编程语法—利用栈实现对后缀表达式的求解

智趣匠

C语言 6 月 优质更文活动

华为云数据库GaussDB,无惧“卡脖子”,给世界一个更优选择

轶天下事

以创新驱动增长,百度营销助力成人教育机构迎战金秋季

科技热闻

【SIGMOD 2023】深度学习弹性数据流水线系统GoldMiner,大幅提升任务和集群效率

阿里云大数据AI技术

人工智能 深度学习 数据库 企业号 6 月 PK 榜

RailsInstaller简化了Rails在Windows上的安装过程_.NET_Rob Bazinet_InfoQ精选文章