使用Windows还是Linux来开始使用Ruby On Rails?

11

我是Ruby On Rails的新手,想知道在使用它时哪个更好:Windows还是Linux。我之前从未使用过Linux,但听说使用它会更好。像我这样的人是否需要安装Linux,或者我可以使用Windows,结果会与Linux相同?

答:虽然您可以使用Windows来开发Ruby On Rails应用程序,但许多开发人员都认为在Linux上工作更好。这是因为Linux是一个开源操作系统,具有更好的性能和稳定性。此外,许多Ruby On Rails的依赖库和工具都是为Linux设计的,因此在Linux上使用它们可能会更加方便。如果您是新手,我们建议您尝试使用Linux进行开发。
5个回答

23

如果你目前使用的开发机是Windows系统,而且没有Linux环境可用,不要让这成为你开始使用Rails的障碍。一定(一定,一定)首先安装DevKit(如果它还没有包含在RubyInstaller中)。具体请参见https://github.com/oneclick/rubyinstaller/wiki/Development-Kit

如果你深入学习Rails开发,甚至开始以此为职业,你将不可避免地转向在开发机上使用Linux系统。问题不在于Rails本身,而在于许多二进制gem很难或无法在Windows上安装。

最受欢迎的Ruby图像处理库(例如生成缩略图)是RMagick,但尝试在Windows上安装它足以让一个强壮的男人哭泣。Paperclip非常适合处理图像和其他附件,但也会出现问题。还有一个流行的JSON解析库,在Windows上也存在问题。Unicorn(一种流行的Rails服务器)根本无法在Windows上运行,而Thin(我最喜欢的)也可能会让你头疼。等等,等等。

现在在Windows上进行Rails开发可以达到相当高的水平,但有时你需要在远程服务器上测试代码,而不是在本地测试,这会浪费很多时间。


5
问题不在Rails和它的gems,而是在Windows操作系统上。 - Dougui
9
赞赏列出了有问题的宝石,而不仅是说Windows很糟糕(许多人都很容易这样说)。但需要注意的是,我在Windows上使用Thin已经一年多了,没有遇到任何问题。此外,我建议使用RailsInstaller,它包括DevKit和Rails所需的所有内容(是的,RubyInstaller目前不包括DevKit)。 - Paul Hoffer
@phoffer,这是非常好的信息:如果您愿意,请将其添加到答案中。我也在Windows上使用Thin,但至少有几次,在安装新的开发机器时,我看到了可怕的“mkmf.rb”错误消息。问题在于安装,而不是在正确设置后运行它。@Dougui,指责别人没有任何意义;我只是陈述事实。 - Alex D
@Dougui 我在Windows上使用Django并没有遇到太多问题。 - Ed_
@WeaponX 自2012年以来,很多事情都发生了变化。我认为现在更容易了。我知道你可以在Windows上安装Ubuntu。也许这是最简单的选择。 - Dougui

4

毫不犹豫地选择Linux。如果你想在Windows上使用Ruby on Rails进行开发,你会遇到很多问题。我已经尝试过在Windows上进行开发,起初非常困难。自从我使用了Linux,一切都变得简单了!虽然一开始有些难,但是它非常强大。

  • Linux非常强大;
  • 大部分文档都是基于UNIX环境的;
  • 这需要更少的配置;
  • 你将会有更少的bug;
  • 所有工具都针对UNIX系统进行了优化;

2
Rails开发在Windows机器上已经走过了很长的路程。虽然我同意几年前在Windows上学习Rails时,我花费的时间更多是在配置而不是编码方面,但现在从空白状态到完全运行的Rails环境的过程非常顺畅。 - Charles Caldwell
1
直到你深入了解Rails开发并开始使用来自不同来源的gems,你才会发现那个被称为“在Windows上安装RMagick”的地狱。然后你会度过无数个夜晚,经历痛苦和泪水,试图安装eventmachine。接着你想尝试Unicorn,但发现它只能在UNIX上运行。然后... - Alex D
RMagick自2010年以来就没有更新,这并没有什么帮助。=) - Charles Caldwell
1
叹气。我不想说,但像RMagick这样的东西让开源软件名声变差了。你无法相信在使用RMagick的应用程序中我曾经不得不追踪的一些疯狂的错误... - Alex D

4

这篇帖子可能有点老,但我想表达的是,当你在Windows平台上使用Ruby on Rails时,你会遇到很多问题。构建普通应用程序可能还好,但是一旦你开始涉及sqlite3ASCII字符应用国际化等方面,你的头发就会掉光,不是开玩笑。与此相反,如果你坚持使用Mac或Linux(Ubuntu),你会感觉无敌,为项目感到自豪,而不必手动配置(gems')本机扩展库,这太可怕了。

总之,在Windows上让它正常工作只是噩梦。无论你做了什么,都完全是你的决定。希望一切顺利。


3
主要取决于您在每个环境中的舒适程度。我已经在Windows和Linux上开发了4年(因为我买不起Mac),最近发现Windows在设置方面最容易。Engineyard发布了一个针对Windows的安装程序,其中包括Ruby、Rails、Git、Bundler、SQLite和DevKit等所有功能。
Windows用户通常习惯于像Engineyard提供的简单安装程序,如果您也习惯于这种方式,请使用Windows。
Linux为在线安装Ruby on Rails提供了更多支持。每个Linux发行版在安装Ruby on Rails时都有轻微差别,所以我无法提供任何链接。您还可以找到独立的教程来安装Git、SQLite和DevKit。
如果您更喜欢在终端中工作,那么我建议您尝试一下Linux开发。虽然相对于Windows而言,安装需要花费更长的时间,但是你会发现它更适合命令行(并且更加充实)。
在安装好Rails之后,差异很快就会减小。开发将更多地依赖于您使用的IDE或文本编辑器。大多数提供Linux和Windows版本。
如果您的重点主要是服务器端编程,则最好考虑Linux。如果您主要从事客户端开发,则建议使用Windows(或MacOS)。
我最好的建议是下载VirtualBox或其他虚拟机,尝试一下Linux。它是免费的,只需要花费一天左右的时间进行安装和操作。如果你不喜欢它,可以回到Windows。(我个人使用了Windows和Linux的组合,感谢Bundler的神奇帮助)

1

选择Linux或Mac。原因是许多对Ruby on Rails有帮助的宝石(Gems)没有被移植到Windows上,而且从来不会有(至少在我最后一次使用Rails时是这种情况)。如果你最终在Windows上进行开发,可能会发现自己需要一遍又一遍地重新发明轮子。


哪些是常见的库? - Charles Caldwell
@CharlesCaldwell,不幸的是,Ruby社区有点偏向UNIX,并且许多二进制宝石在Linux上比Windows更容易安装。 Ruby在Windows上比以前好多了,DevKit大有帮助(不要在没有它的情况下在Windows上使用Ruby),但仍然有许多宝石可能难以安装。如果有人试图列出这些宝石的清单,那将会不胜枚举。 - Alex D

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接