写点什么

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

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

关注

评论

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

week8 作业

Shawn

职场求生攻略答疑篇之 1 —— 加班沉思录

臧萌

程序员 加班

7个获取访问者真实IP的方法,速学!!!

华为云开发者联盟

nginx 大前端 网站 IP 服务器

IO系列——UNIX五种IO模型

Java联盟

io 多路复用 异步IO

节约60%成本!虎牙直播云端大数据是怎么做到的?

腾讯云大数据

Spring Boot + Vue前后端分离项目,Maven自动打包整合

xcbeyond

maven 前后端分离 springboot 部署

一个好用的工作生活平衡方式

霍太稳@极客邦科技

Kafka两个高性价比的参数调优

我是个bug

Java 大数据 kafka

Linux服务器存在某进程CPU过高如何追溯其问题根源?

Nick

Java Linux centos

如何消灭飞机的“黑色十分钟”,AI来帮忙

华为云开发者联盟

华为 AI 智能时代 模型 华为云

正则表达式基础详解

懒猫

Java 正则表达式 大前端 正则

主宰操作系统的经典算法

苹果看辽宁体育

后端 操作系统

Nginx 限流配置

Bruce Duan

nginx

[POJ 1002] 487-3279 C++解题报告

一直AC一直爽

POJ ACM

推荐一款技术人必备的接口测试神器:Apifox

狂师

测试 测试驱动开发实战营 接口测试 测试框架

架构师那些不能碰的禁忌

曲水流觞TechRill

架构师

HTTPS详解

Bruce Duan

https 对称加密 非对称加密

Go: 通过代码学习 Map 的设计 — Part II

陈思敏捷

map Go 语言

Redis系列(七):缓存只是读写回种这么简单吗?如果是,那么请你一定看看这篇文章!

z小赵

redis 分布式 高并发系统设计

实战案例丨ModelArts在数据标注、数据过滤上的应用技巧:自动分组

华为云开发者联盟

人工智能 数据 图像识别 图片 分类

一文了解JDK12 13 14 GC调优秘籍-附PDF下载

程序那些事

GC JDK14 秘籍 JDK12 JDK13

干货分享丨玩转物联网IoTDA服务系列四-智能网关

华为云开发者联盟

物联网 智能设备 应用场景 华为云 mqtt

上海首批金融科技“监管沙盒”应用名单出炉 区块链技术备受青睐

CECBC

金融科技 金融监管 创新与安全 智能多元化

国产开源流媒体SRS4.0对视频监控GB28181的支持

潇湘落木

音视频 云直播 短视频 流媒体

华为云FusionInsight MRS融合大数据平台进阶之路

数据湖洞见

大数据 新特性 FusionInsight 华为云 智能数据湖

LeetCode 1052. Grumpy Bookstore Owner

liu_liu

算法 LeetCode

一文带你了解Zookeeper所有核心概念

小隐乐乐

zookeeper 分布式 分布式架构

ARTS 第 5 周

乌拉里

Java架构-Java代码规范那些事

我是苞谷

Java

架构师训练营第八周作业

张明森

API接口限流

Bruce Duan

分布式限流 单体限流 限流算法

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