在 RoR 的安装文档中,它提到在 Windows 上运行 Ruby on Rails 有很多限制,并且在某些情况下,整个库都不起作用。

这些限制有多严重?我是否应该始终默认使用 Linux 来编码/运行 RoR?Iron Ruby 是否有望修复这些限制,或者它们是操作系统本身的核心?

编辑 感谢您在 Linux 上安装和运行的答案,但我真的很想了解安装文档中引用的功能限制和非工作库 - 我试图找到评论的链接,但它被引用了在安装中,当我安装我认为的 msi 软件包时请阅读我的内容

编辑感谢您最近对 IronRuby 的引用,它确实是一个值得关注的项目,而且显然,由于它是一种 .NET 语言,因此如果它能够兑现承诺,那将是无价的。但最终,就我而言,我还是硬着头皮安装了 Ubuntu 服务器。

<偏见>我几年前就应该这样做</偏见>

有帮助吗?

解决方案

以下是 Windows 上 Rails 当前问题的概述:

  • Ruby 和 Rails 在 Windows 上比在类 Unix 操作系统上慢。
  • 一些 gem 和库无法在 Windows 上运行。
  • 某些 Unix-isms 在 Windows 上不可用(例子).
  • 该社区主要在 Mac 或 Linux 上(这是一个特别难处理的问题;当部落的其他成员在另一座岛上聚会、玩乐、相处融洽时,没有人愿意独自一人呆在一个岛上。社区很重要。似乎大多数从 Rails 开始的 Windows 开发人员很快就转向了 Mac 或 Linux。 然而, ,坚持不懈的 Windows Ruby 用户小社区非常友好、专注且知识渊博 - 去打个招呼.)

请注意,由于以下人员的巨大努力,以下大部分建议现已过时。 Ruby安装程序 团队致力于为 Windows 上的 Ruby 带来稳定性、兼容性和性能。我不再需要使用 VirtualBox,这充分说明了 Windows 上的 Ruby 已经取得了多大的进步。

如果您想了解更多技术细节,请阅读以下内容。:

最后一篇的选择引用是:

秋田铁路: 最明显的事情是,任何带有 C 扩展的 Gem,如果没有适用于 Windows 的正确二进制文件,都会失败。尝试执行 shell 命令将会失败,RubyInline 也会失败。还有什么?

路易斯·拉韦纳: 呵呵,这只是冰山一角

话虽如此,我不认为在 Windows 上使用 Rails 进行开发 痛苦。在大多数情况下,使用 Ruby 是一种乐趣。我会避免使用 InstantRails,因为坦率地说,使用一键式安装程序正确安装 Ruby,然后执行 gem install rails. 。如果您需要 Apache 和 MySQL, 瓦姆普 是一个不错的选择,尽管如果您只是坚持使用 Mongrel 和 SQLite,那么这些也不是必需的。

我最近开始做的就是跑步 虚拟盒子 使用与部署服务器密切镜像的 Ubuntu Server 实例。我将网络驱动器映射到 Ubuntu 服务器,然后直接在虚拟机上编辑并运行代码。它几乎不使用任何内存(目前使用约 43MB;与 Firefox 相比,Firefox 使用约 230MB),而 Rails 实际上比在 Windows 上本地运行表现更好。另外,您可以相对安全地试验虚拟服务器。这是一个非常好的设置,我强烈推荐它。

最后,这里有一些针对 Windows 用户的 Ruby/Rails 博客:

其他提示

我发现在Windows上使用 Instant Rails 启动和运行开发环境真的很棒简单。特别是在使用 Netbeans Radrails 作为IDE。

不到10分钟的工作。

那些挣扎的人发现了什么问题?

没人提到 Bitnami RubyStack 了吗?我和RadRails一直在使用它多年。包括Apache,MySQL / Postgre,phpmyadmin,git等。可选的Ruby 1.9.2 / Rails 3.0b。您也可以在VM中运行RubyStack的Ubuntu风格,但我还没有尝试过。

我已经在Windows PC上开发Rails几年了,并且在我刚开始安装时没有遇到任何实际问题。然而,我最近重新构建了我的机器,并努力使One-Click Ruby安装程序工作和最新版本的Gems。所以这就是我的尝试。

选项1:运行Linux虚拟机

我对Charles Roper在Linux虚拟机中运行Rails的想法印象深刻,这是我最初的路线。这一切都非常顺利,我一直在 budanters.blogspot.com 上记录它。但是,我一直在努力从Windows主机访问MySQL服务器(在Linux虚拟机中)。

选项2:使用jRuby

我最近安装了Windows版本的 NetBeans 6.5 Ruby软件包,而不是意识到这一点,这将安装JRuby和Rails宝石。 IDE有一个用于安装Gems的UI,现在我已经将我的旧应用程序备份并在我的开发环境中运行。

2009年11月更新

我现在在Windows上使用Netbeans 6.7,总的来说我很满意。唯一的缺点是它安装了JRuby 1.2,我需要手动安装JRuby 1.3以使某些工作正常(我不记得是什么)而且我完全无法让部署与Capistrano或Vlad the Deployer一起工作。 Vlad 使用 Open4 ,不适用于JRuby。

2010年5月更新

Netbeans 6.8附带JRuby 1.4,因此不再需要手动安装JRuby 1.3。似乎在JRuby 1.5 Open4中现在也可以工作,这意味着Vlad可能会开始工作。

http://railsinstaller.org/ 上有一个打包的安装程序,值得一试。

就我个人而言,我发现在Windows上运行Ruby + Rails是件小事。从下载到浏览到我的第一个'HelloWorld'应用程序花了我15分钟。我甚至没有打扰任何InstantRails的东西。

随后我不能说我在Windows下遇到任何报告的Gems速度问题或问题。

这些人也为Visual Studio添加了一个很好的Ruby开发人员:

http://www.sapphiresteel.com/

当我最后在Windows上摆弄Rails时,我使用了Instant Rails并发现它是一个相当痛苦的过程,除了缺少Instant Rails的更新(从网站的外观仍然有一点点一个问题,因为即时Rails 2.0使用ROR 2.0,而最新版本是2.1)。您也可以查看这个问题因为它提到了许多其他方法可以轻松地在Windows上运行RoR。

您可以通过Windows选项获取所有内容并进行安装,例如 Instantrails

但是,我尝试让同事在Windows上运行的个人经验是,这是一个非常痛苦的经历。你应该能够让大部分(如果不是全部)运行,但要准备好花一点时间来捣乱(并且感到沮丧)。

YMMV

我可能会建议使用Linux或Mac进行rails开发(但是我对Windows有些偏见,所以你可能需要花一点时间来研究它。)

如果你被困在Windows上,那么选择是让虚拟服务器运行Linux / BSD / what-have-you。

它还解决了许多其他问题(允许您轻松尝试多种服务器配置等)。

如果你无法摆脱Windows使用VMware并运行某种形式的Linux(ubuntu很受欢迎)。你的No.1限制将是编译的宝石,在Windows上不能很好地播放。

大多数教程都假设你使用某种形式的* nix,当你感觉到疼痛时,就会开始超越基本的脚手架。图像处理,全文搜索甚至一些数据库适配器将只在* nix上运行或者很难设置。

大多数Web主机也运行Linux,最好在与主机相同的平台上进行开发,以避免部署问题。

通常,Rails性能是Windows上的一个问题。

就部署设置而言,您可以在FCGI中运行Rails或使用mongrel(并设置Apache或IIS作为代理)。 mod_rails( http://www.modrails.com )是今天Rails的最佳部署选项,但不是'在Windows上运行。

您可能会发现使用Windows上的JRuby在您想要的任何JVM环境(tomcat,J2EE服务器等)中运行Rails会更加幸运。

IronRuby还没有在生产环境中运行Rails,但最终它的目标是在任何ASP.NET环境(IIS)中运行Rails。

你可以使用Cygwin和它的Ruby版本。这摆脱了关于编译宝石无法在Windows上工作的争论 - 我已经成功地编译了很多宝石。

在Windows下运行的最大限制是很多东西都超级慢。

这个线程. 。供讨论。

像“脚本/控制台”和运行 rake 任务这样的简单事情在 Windows 上花费的时间是 Linux 或 Mac 上的 5 倍。

其他限制是:

  • Vista 上没有 IE6。
  • BackgroundRB 和许多其他基于 C 的 gem 不能在 Windows 上运行。
  • 没有乘客

我自己不是铁轨开发者,但我认为这可能会引起人们的兴趣。微软发布了IronRuby 1.0,它是在.NET平台上运行的Ruby版本,显然比Windows上的官方Rails实现快

http://www.drdobbs.com/open-source/224600662

官方网站 http://ironruby.codeplex.com/

对于加速,您可以尝试我的装载机调速器上部(帮助导轨在打瞌睡时跑得更快): https:// github的.com / RDP / faster_require 结帐spork,在打瞌睡

RailsIntaller的替代方案是 RailsFTW 。 Ruby <!>放大器; Rails更新。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top