Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/neo4j/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 现在开始一个rails 3项目,使用哪种ruby 1.87或1.92,为什么?_Ruby On Rails - Fatal编程技术网

Ruby on rails 现在开始一个rails 3项目,使用哪种ruby 1.87或1.92,为什么?

Ruby on rails 现在开始一个rails 3项目,使用哪种ruby 1.87或1.92,为什么?,ruby-on-rails,Ruby On Rails,我们应该使用哪个版本的ruby?为什么?当然是1.9.2。为什么?因为这是最新的稳定版本。1.9.2是对1.8.7的改进。速度、标准库,当然还有更多功能。1.8.7推广太多,我看不出有任何理由在1.9.2*之上使用它 有关更精确的差异,请参阅 *编辑-z3cko提供了2个优点。REE无疑以其在Rails应用中的速度和灵活性而自豪。当然有很多gem不支持1.9.2,但也有很多gem只支持1.9。现在发布gem的任何作者,如果希望人们在生产环境中使用gem,那么在编写gem时都应该考虑到1.8和1.

我们应该使用哪个版本的ruby?为什么?

当然是1.9.2。为什么?因为这是最新的稳定版本。1.9.2是对1.8.7的改进。速度、标准库,当然还有更多功能。1.8.7推广太多,我看不出有任何理由在1.9.2*之上使用它

有关更精确的差异,请参阅


*编辑-z3cko提供了2个优点。REE无疑以其在Rails应用中的速度和灵活性而自豪。当然有很多gem不支持1.9.2,但也有很多gem只支持1.9。现在发布gem的任何作者,如果希望人们在生产环境中使用gem,那么在编写gem时都应该考虑到1.8和1.9的兼容性。

当然是1.9.2。为什么?因为这是最新的稳定版本。1.9.2是对1.8.7的改进。速度、标准库,当然还有更多功能。1.8.7推广太多,我看不出有任何理由在1.9.2*之上使用它

有关更精确的差异,请参阅


*编辑-z3cko提供了2个优点。REE无疑以其在Rails应用中的速度和灵活性而自豪。当然有很多gem不支持1.9.2,但也有很多gem只支持1.9。现在发布gem的任何作者,如果希望人们在生产环境中使用gem,那么在编写gem时都应该同时考虑到1.8和1.9的兼容性。

您应该使用ruby 1.8.7,尤其是在开始开发的时候。您将发现的大多数gems和示例都是针对Ruby 1.8.7的,但有些gems与Ruby 1.9.2并不完全兼容

此外,正如一些人所说,基准表明——而且:

我建议等待1.9.2成熟,同时坚持REE。
当Ruby分支有REE版本时,现在可能是切换到1.9.x的好时机。

您应该使用Ruby 1.8.7,尤其是在您开始开发的时候。您将发现的大多数gems和示例都是针对Ruby 1.8.7的,但有些gems与Ruby 1.9.2并不完全兼容

此外,正如一些人所说,基准表明——而且:

我建议等待1.9.2成熟,同时坚持REE。 当Ruby分支有REE版本时,这可能是切换到1.9.x的好时机。

Ruby 1.9.2稳定、运行更快,并提供了更重要的功能,如良好的Unicode/多字符集/多编码支持

为了使Ruby库和框架能够与Ruby 1.9.2很好地协同工作,有着广泛而一致的推动。我只使用Ruby1.9.2,我遇到的所有我想使用的东西几乎都支持Ruby1.9.2。还有一些宝石与1.9.2不兼容,但到目前为止,这是一个罕见的例外

z3cko将显示Rails的启动时间。这无关紧要。您将很少启动Rails。1.9.2带来的运行时速度提升与1.8.7带来的Rails启动提升相形见绌。请注意,我没有做任何测量

z3cko还提出了REE。REE对Ruby 1.8系列很有帮助。但是Ruby1.9系列使用了一个全新的VM,它已经比1.8VM好得多了。如果您想使用Ruby的另一种实现,请尝试一下,或者,一旦这些运行时实现了完全的1.9.2兼容性,它们目前都是完全兼容1.8.7的,并且正在使用1.9.2兼容性。这两种替代运行时都有更好的配置,可以提供非常好的性能:JRuby可以利用HotSpot JVM,Rubinius可以利用LLVM。另外,JRuby与JVM有很好的集成,可以让您非常轻松地使用Java库。此外,REE与Phusion Passenger一起使用时效果最好,但有一些新的方法可以在前面部署Rails应用程序,这些方法提供了强大的优势,并且不使用Phusion Passenger

Ruby环境变化非常迅速,Rails部署环境也是如此。带有Phusion乘客的REE 1.8.7为固体。但我们有更新、更闪亮、更快、更轻薄、可用于生产的工具,可以用来切割、锐化和完善我们的基础设施。

Ruby 1.9.2稳定、运行更快,并提供了更基本的功能,如良好的Unicode/多字符集/多编码支持

为了使Ruby库和框架能够与Ruby 1.9.2很好地协同工作,有着广泛而一致的推动。我只使用Ruby1.9.2,我遇到的所有我想使用的东西几乎都支持Ruby1.9.2。还有一些宝石与1.9.2不兼容,但到目前为止,这是一个罕见的例外

z3cko将显示Rails的启动时间。这无关紧要。您将很少启动Rails。1.9.2带来的运行时速度提升与1.8.7带来的Rails启动提升相形见绌。请注意,我没有做任何测量

z3cko还提出了REE。REE对Ruby 1.8系列很有帮助。但是Ruby 1.9系列使用了一个完全 新的虚拟机已经比1.8虚拟机好得多。如果您想使用Ruby的另一种实现,请尝试一下,或者,一旦这些运行时实现了完全的1.9.2兼容性,它们目前都是完全兼容1.8.7的,并且正在使用1.9.2兼容性。这两种替代运行时都有更好的配置,可以提供非常好的性能:JRuby可以利用HotSpot JVM,Rubinius可以利用LLVM。另外,JRuby与JVM有很好的集成,可以让您非常轻松地使用Java库。此外,REE与Phusion Passenger一起使用时效果最好,但有一些新的方法可以在前面部署Rails应用程序,这些方法提供了强大的优势,并且不使用Phusion Passenger


Ruby环境变化非常迅速,Rails部署环境也是如此。带有Phusion乘客的REE 1.8.7为固体。但我们有更新、更闪亮、更快、更纤薄、可用于生产的工具,可以用来切割、锐化和抛光我们的基础设施。

我在1.9.1中遇到了一些严重的问题,1.9.2当时没有在基本rails应用程序上出现,并恢复到1.8.7。也许这是我的环境,但现在我会担心在关键应用程序上使用它

使用1.8.7的另一个论点(尽管是主观的)是,我的代码更有可能在1.9.x上运行,而不是相反


如果性能是一个问题,您可能会想使用1.9.x,但是如果您在web上使用它,大多数时候瓶颈都在数据库的某个地方,也就是说。

我在1.9.1中遇到了一些严重的问题。1.9.2当时在基本rails应用程序上没有出现,并恢复到1.8.7。也许这是我的环境,但现在我会担心在关键应用程序上使用它

使用1.8.7的另一个论点(尽管是主观的)是,我的代码更有可能在1.9.x上运行,而不是相反


如果性能是一个问题,您可能会希望使用1.9.x,但是如果您在web上使用它,大多数时候瓶颈都在数据库的某个地方,也就是说。

我想说的一切以及更多。让我的答案黯然失色。正义,你能给我指出更多关于nginx和unicorn/thin的信息吗?与乘客相比有什么好处?Heroku使用Thin。chef application cookbook建议使用unicorn,并提供了如何设置unicorn的示例,而这种支持比他们之前对Passenger的支持更为突出:我想说的一切以及更多。让我的答案黯然失色。正义,你能给我指出更多关于nginx和unicorn/thin的信息吗?与乘客相比有什么好处?Heroku使用Thin。chef application cookbook建议使用unicorn,并提供了如何设置它的示例,而这一支持明显超过了他们之前对Passenger的支持:我认为您夸大了仅支持1.9的gems。为了给你一个反例,如果你把注意力转向rubygems,你可能会注意到rubygems 1.4已经发布了!在这里下载。Ruby 1.9+用户应该等待升级。这里只有我的2美分。RubyGems 1.5刚刚发布。它与Ruby 1.9.2和Ruby 1.9.3开发线兼容。Bundler 1.0.10带来了与RubyGems 1.5的兼容性,并且在RubyGems 1.5发布几小时后发布。我认为你夸大了只支持1.9的gems。为了给你一个反例,如果你把注意力转向rubygems,你可能会注意到rubygems 1.4已经发布了!在这里下载。Ruby 1.9+用户应该等待升级。这里只有我的2美分。RubyGems 1.5刚刚发布。它与Ruby 1.9.2和Ruby 1.9.3开发线兼容。Bundler 1.0.10带来了与RubyGems 1.5.Noone建议的1.9.1的兼容性,并在几个小时后发布,Rails 3除了1.8.7和1.9.2之外不能与任何东西一起工作,所以我认为任何人都会担心使用1.9.1做任何事情。不过,1.9.2可以。同意第二点事实上,我对第一点的看法是正确的。然而,在一个严肃的项目中,我仍然会使用一个经过验证的解决方案,最新的和最好的解决方案。Rails 3.0版本被特别推迟到Ruby 1.9.2发布,因为Ruby 1.9.1中存在一些问题,包括Ruby 1.9.2中修复的Ruby 1.9.1的严重缺陷。Ruby 1.9.1发布的时间远远早于严肃的项目。Ruby 1.9.2的发布是为了回应严肃项目在1.9系列上提供的所有反馈,并专门处理了1.9.1系列中遗留的任何稳定性问题。没有人建议使用1.9.1,Rails 3只能使用1.8.7和1.9.2,所以我想任何人都会担心使用1.9.1做任何事情。不过,1.9.2可以。同意第二点事实上,我对第一点的看法是正确的。然而,在一个严肃的项目中,我仍然会使用一个经过验证的解决方案,最新的和最好的解决方案。Rails 3.0版本被特别推迟到Ruby 1.9.2发布,因为Ruby 1.9.1中存在一些问题,包括Ruby 1.9.2中修复的Ruby 1.9.1的严重缺陷。Ruby 1.9.1在b井发布 在认真的项目开始进行之前。Ruby 1.9.2的发布是为了回应严肃项目在1.9系列上提供的所有反馈,它专门处理1.9.1系列中遗留的任何稳定性问题。