在RoR的安装文档中,它提到在Windows上运行Ruby on Rails有很多限制,在某些情况下,整个库都不起作用。
这些限制有多糟糕,我是否应该始终默认使用Linux来编写/运行RoR,Iron Ruby是否应该修复这些限制或者它们是操作系统本身的核心?
编辑 感谢您在Linux上安装和运行的答案,但我真的想了解安装文档中引用的功能限制,并且非工作库 - 我正在尝试找到评论的链接,但它在安装中被引用,当我安装msi软件包时,我认为
修改 感谢最近对IronRuby的引用,它肯定是一个值得关注的项目,因为它显然是一种.NET语言,如果它符合承诺,它将是非常宝贵的。然而,最终,在我的情况下,我只是咬了一口子并安装了一个Ubuntu服务器。
<偏压>我应该在几年前完成它< / bias>
答案 0 :(得分:101)
以下是Windows上Rails当前问题的概述:
请注意,由于RubyInstaller团队在为Windows上的Ruby带来稳定性,兼容性和性能方面做出了巨大努力,因此下面的大部分建议已经过时了。我不再需要使用VirtualBox,它说明了Windows上的Ruby已经走了多远。
如果您需要更多技术细节,请阅读以下内容。 :
最后一个的选择引用是:
AkitaOnRails:最显而易见的是,任何没有适用于Windows的二进制文件的带有C扩展的Gem都会失败。尝试执行shell命令也会失败,RubyInline也会失败。还有什么?
Luis Lavena:呵呵,这只是冰山一角
说了这么多,我发现在Windows上使用Rails进行开发太太痛苦了。在大多数情况下,使用Ruby是一种乐趣。我要避免使用InstantRails,因为坦率地说,使用一键安装程序正确安装Ruby,然后执行gem install rails
就好了。如果您需要Apache和MySQL,WAMP是一个不错的选择,尽管如果您只是坚持使用Mongrel和SQLite,则不需要这些。
我最近采取的措施是运行VirtualBox,其中一个Ubuntu Server实例与部署服务器紧密相连。我将网络驱动器映射到Ubuntu服务器,然后我直接在VM上编辑和运行我的代码。它几乎不使用任何内存(它目前使用的是~43MB;与Firefox相比,它使用的是大约230MB),Rails实际上比在Windows上本地运行更好。此外,您可以相对安全地试验您的虚拟服务器。这是一个非常好的设置,我强烈推荐它。
最后,这里有一些针对Windows用户的Ruby / Rails博客:
答案 1 :(得分:6)
答案 2 :(得分:5)
答案 3 :(得分:4)
我已经在Windows PC上开发Rails几年了,并且在我刚开始安装时没有遇到任何实际问题。然而,我最近重新构建了我的机器,并努力使One-Click Ruby安装程序工作和最新版本的Gems。所以这就是我的尝试。
我对Charles Roper在Linux虚拟机中运行Rails的想法印象深刻,这是我最初的路线。这一切都非常顺利,我一直在budanters.blogspot.com记录它。但是,我一直在努力从Windows主机访问MySQL服务器(在Linux虚拟机中)。
我最近安装了Windows版本的NetBeans 6.5 Ruby软件包,并且没有意识到这一点,这将安装JRuby和Rails宝石。 IDE有一个用于安装Gems的UI,现在我已经将我的旧应用程序备份并在我的开发环境中运行。
我现在在Windows上使用Netbeans 6.7,总的来说我很满意。唯一的缺点是它安装了JRuby 1.2,我需要手动安装JRuby 1.3以使某些工作正常(我不记得是什么)而且我完全无法让部署与Capistrano或Vlad the Deployer一起工作。 Vlad使用的Open4不适用于JRuby。
Netbeans 6.8附带JRuby 1.4,因此不再需要手动安装JRuby 1.3。似乎在JRuby 1.5 Open4中现在也可以工作,这意味着Vlad可能会开始工作。
答案 4 :(得分:4)
http://railsinstaller.org/有一个打包的安装程序,值得一试。
答案 5 :(得分:3)
就我个人而言,我发现在Windows上运行Ruby + Rails是件小事。从下载到浏览到我的第一个'HelloWorld'应用程序花了我15分钟。我甚至没有打扰任何InstantRails的东西。
随后我不能说我在Windows下遇到任何报告的Gems速度问题或问题。
这些人也为Visual Studio添加了一个很好的Ruby开发人员:
答案 6 :(得分:2)
当我最后在Windows上摆弄Rails时,我使用Instant Rails并发现它是一个相当痛苦的过程,除了缺少Instant Rails的更新(从网站的外观仍然有一点点一个问题,因为即时Rails 2.0使用ROR 2.0,而最新版本是2.1)。您还可以查看this question的答案,因为它提到了许多其他方法可以轻松地在Windows上运行RoR。
答案 7 :(得分:1)
您可以使用Windows选项来安装和安装所有内容,例如Instantrails:
但是,我尝试让同事在Windows上运行的个人经验是,这是一个非常痛苦的经历。你应该能够让大部分(如果不是全部)运行,但要准备好花一点时间来捣乱(并且感到沮丧)。
YMMV
我可能会建议使用Linux或Mac进行rails开发(但是我对Windows有些偏见,所以你可能需要花一点时间来研究它。)
答案 8 :(得分:1)
如果你被困在Windows上,那么选择是让虚拟服务器运行Linux / BSD / what-have-you。
它还解决了许多其他问题(允许您轻松尝试多种服务器配置等)。
答案 9 :(得分:1)
在Windows下运行的最大限制是很多东西都非常慢。
见this thread。进行讨论。
简单的事情,如“脚本/控制台”和运行rake任务,在Windows上的使用时间将比在Linux或Mac上的时间长5倍。
其他限制是:
答案 10 :(得分:1)
如果你无法摆脱Windows使用VMware并运行某种形式的Linux(ubuntu很受欢迎)。你的No.1限制将是编译的宝石,在Windows上不能很好地播放。
大多数教程都假设你使用某种形式的* nix,当你感觉到疼痛时,就会开始超越基本的脚手架。图像处理,全文搜索甚至一些数据库适配器将只在* nix上运行或者很难设置。
大多数Web主机也运行Linux,最好在与主机相同的平台上进行开发,以避免部署问题。
答案 11 :(得分:1)
通常,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。
答案 12 :(得分:1)
你可以使用Cygwin和它的Ruby版本。这摆脱了关于编译宝石无法在Windows上工作的争论 - 我已经成功地编译了很多宝石。
答案 13 :(得分:1)
我自己不是铁轨开发者,但我认为这可能会引起人们的兴趣。微软发布了IronRuby 1.0,它是在.NET平台上运行的Ruby版本,显然比Windows上的官方Rails实现快
。答案 14 :(得分:0)
对于加速,您可以尝试我的装载机调速器上部(帮助导轨在打瞌睡时跑得更快):https://github.com/rdp/faster_require 结帐spork,在打瞌睡
答案 15 :(得分:0)
RailsIntaller的替代方案是RailsFTW。 Ruby& Rails更新。