写点什么

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:514258
用户头像

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

关注

评论

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

集成技术,大山里的金子

阿呆

Github最新霸榜!“精华版”Java八股文10天帮你彻底解决大厂难题

Java你猿哥

Java 面试 面经 Java工程师 八股文

迄今为止把Mybatis讲解的最详细的PDF,图文并茂,通俗易懂

Java你猿哥

Java 面试 mybatis ssm Mybatis框架

产品愿景设计:解锁团队潜能,引领市场竞争优势

L3C老司机

产品设计 数字化转型 设计思维 产品设计与思考 产品愿景

三次迭代终放“大招”,Themis Pro版即将问世

EOSdreamer111

Themis Pro版将正式推出,3次迭代到底在酝酿什么?

鳄鱼视界

浅谈Data Driven Testing

QE_LAB

测试 数据驱动测试

IotLink版本更新V1.10.0

山东云则信息科技

C# 世界的《Effective C++》,来自.Net之父的核心揭秘

博文视点Broadview

浅谈 Spring Bean 的生命周期

Java你猿哥

Java spring ssm Spring Bean

面对ChatGPT,中国AI可以不疾不徐不焦虑

脑极体

AI

释放Go Mutex的威力:编写线程安全代码的技巧和诀窍

Jack

历史性的时刻!OpenTiny 跨端、跨框架组件库正式升级 TypeScript,10 万行代码重获新生!

Kagol

typescript 开源 Vue 3 Vue3 Typescript OpenTiny

Flutter 使用 CustomPaint 绘制基本图形

岛上码农

flutter ios 安卓 移动端开发 跨平台开发

IT采购,不再默默扛下“背刺”

白洞计划

AI 联想

NFTScan 与 Adot 达成合作伙伴,双方在多链 NFT 数据方面展开合作

NFT Research

NFT NFTScan

Service初涉

智趣匠

android service

三次迭代终放“大招”,Themis Pro版即将问世

BlockChain先知

Flutter 异步编程指南

京东科技开发者

flutter dart 异步任务编程 APP开发 企业号 4 月 PK 榜

iOS代码覆盖率(一)-全量覆盖率自动化实践

京东科技开发者

swift pod 脚本自动化 企业号 4 月 PK 榜 全量覆盖率

Themis Pro版将正式推出,3次迭代到底在酝酿什么?

股市老人

使用NSIS打包超大型软件的几个注意事项

大伟

借降本增效之名,探索开闭原则架构设计

京东科技开发者

低代码 软件架构 开闭原则 企业号 4 月 PK 榜

编解码持续升级,「硬」实力铸就视频云最优解

阿里云视频云

云计算 芯片 视频云

和ChatGPT pair整理的测试类型清单

BY林子

软件测试 测试类型 ChatGPT

模块八作业 - 消息队列存储消息数据的 MySQL 表格

🐢先生

架构实战营

有关提升代码质量的思考

阿呆

Alibaba最新“618,双十一”亿级并发系统设计(2023版小册开源)

架构师之道

Java 编程 高并发

Redis事务

京茶吉鹿

nosql redis

浅谈 Spring Bean 的生命周期

做梦都在改BUG

Java spring 生命周期 bean

Flutter和小程序容器技术的应用前景与发展潜力

FinFish

flutter 小程序容器 小程序技术

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