我们应该使用哪个版本的ruby以及为什么?
答案 0 :(得分:3)
Ruby 1.9.2 稳定,运行更快,并提供更多基本功能(例如良好的Unicode /多字符集/多功能) - 编码支持)。
有一个广泛和一致推动,以使Ruby库和框架与Ruby 1.9.2一起运行良好。我只使用Ruby 1.9.2,而我想要使用的几乎所有东西都支持Ruby 1.9.2。还有一些“外面”的宝石与1.9.2不兼容,但到目前为止,这是一个罕见的例外。
z3cko带来了Rails的启动时间。这是无关紧要的。你很少会开始使用Rails。你获得的运行时速度提升1.9.2使得你用1.8.7获得的Rails启动提升相形见绌。请注意,我没有进行任何测量。
z3cko也提出了REE。 REE对Ruby 1.8系列很有用。但Ruby 1.9系列使用的是一个全新的VM,它已经比1.8 VM好得多。如果您想使用Ruby的替代实现,请尝试JRuby或Rubinius,一旦这些运行时实现完全1.9.2兼容性(两者目前完全兼容1.8.7并且在1.9上工作)。 2兼容性)。这两种替代运行时都能更好地提供更好的性能:JRuby可以利用HotSpot JVM,而Rubinius可以利用LLVM。此外,JRuby与JVM的良好集成使您可以非常轻松地使用Java库。此外,REE在与Phusion Passenger一起使用时效果最佳,但有一些新的方法可以在Nginx或Thin前面部署Rails应用程序Unicorn,这些应用程序提供了强大的好处,而且没有使用Phusion Passenger。
Ruby环境的变化非常迅速,Rails部署环境也是如此。带有Phusion Passenger的REE 1.8.7非常可靠。但我们拥有更新,更光亮,更快速,更纤薄,生产就绪的工具,可用于切割,锐化和抛光我们的基础设施。
答案 1 :(得分:1)
嗯,当然是1.9.2。为什么?因为它是最新的稳定版本。 1.9.2比1.8.7有所改进。速度,标准库,当然还有更多功能。 1.8.7升级太多,我认为没有任何理由使用它超过1.9.2 *。
有关更多确切的差异,请参阅this question。
*编辑 - z3cko带来2个好点。 REE无疑为Rails应用程序提供了速度和灵活性。当然有许多宝石不支持1.9.2,但也有许多宝石只支持1.9。任何发布宝石的作者现在都希望人们在生产环境中使用它,应该考虑兼容1.8和1.9的兼容性。
答案 2 :(得分:0)
你应该使用ruby 1.8.7 - 特别是Ruby Enterprise Edition,如果你开始发展的话。您将发现的大多数宝石和示例都适用于Ruby 1.8.7(仍有一些宝石不完全兼容1.9.2。)
此外,正如一些人所说,基准显示rails with 1.8.7 (REE) is still faster than Ruby 1.9.2 - 和:Rails startup time is also slower with 1.9.x
我建议等待1.9.2成熟并同时坚持REE。 当存在该Ruby分支的REE版本时,可能是切换到1.9.x的好时机。
答案 3 :(得分:0)
我在一个基本的rails应用程序上有一些令人讨厌的段错误,1.9.1(1.9.2当时没有出局)并恢复到1.8.7。也许这是我的环境,但现在我担心在关键应用上使用它。
使用1.8.7的另一个论点(尽管是主观的)是我的代码更有可能在1.9.x上运行然后反过来。
如果性能是一个问题,你可能想要使用1.9.x但是大部分时间瓶颈都在数据库的某个地方(如果你在网上使用它)。