使用Rails gem而不是vendor / rails有什么好处?

时间:2009-07-25 18:47:56

标签: ruby-on-rails ruby ruby-on-rails-plugins

我最近开始在Ruby on Rails上开展一个小型的个人项目,并遇到了一些我无法找到明确答案的事情。如果这里有人知识足以提供帮助,那将非常感激。我的所有问题都在下面:

  • 使用Rails Gem而不是在vendor / rails中有什么好处?
  • 使用Rails 2.3.2有什么好处吗?我希望使用的一些插件似乎与2.3.2(ActiveScaffold)不兼容?它是否比2.2提供了很大的改进?
  • 使用Ruby 1.9有什么好处?许多插件尚不兼容。它是否比旧版本提供了很大的改进?

感谢您提供的任何帮助。

3 个答案:

答案 0 :(得分:3)

  1. vendor / rails可能会使您的项目更具可移植性。运行rake gems的部署:安装可能会有点不稳定,特别是如果你升级“Framework Gem”(你必须手动完成)。

    供应商/ rails的缺点是它会使你的部署稍微大一点(需要推送的文件越多)但是如果你使用git和像Capistrano这样的东西,这只会让你在初始部署时咬人......但它不是那很糟糕。

  2. 我认为没有任何巨大的好处;这取决于你是否需要2.3.2中的功能。显然,您希望尝试运行最新版本,以降低升级难度。我发现如果你希望将来有任何升级改变,你总是需要升级Rails下面的框架。

  3. 性能。正如你所指出的那样,很多插件都被打破了。这有点鸡蛋和鸡蛋问题,但加班应该解决这个问题。我们在任何一个生产应用程序中都没有运行1.9,因为它对堆栈的其余部分来说太不稳定了。

答案 1 :(得分:1)

我将解决宝石问题。

我过去曾使用过卖过的宝石,但我几乎已经离开了它,除非在极少数情况下我需要分叉一个宝石来为某些目的定制它,在这种情况下我会供应宝石。

从我的角度来看,不供应商的主要原因是你不能用C模块干净地供应任何宝石,因为它们需要编译。

一个非常好的选择是使用gem管理工具,例如geminstaller,它允许您配置项目所针对的宝石和特定版本的宝石,以便在部署中拥有一组一致的宝石。

答案 2 :(得分:1)

  

使用它有什么好处   Rails宝石而不是它   供应商/轨道?

最大的好处是你没有携带你的项目的完整rails源代码,另一个好处是转移到更新版本的rails将需要更少的努力。

请记住,gem命令允许您安装特定版本的gem。

  

使用Rails 2.3.2有什么好处吗?一些插件我   希望使用似乎不是   与2.3.2兼容   (ActiveScaffold)?它提供了吗?   超过2.2的改进?

来自rails 2.2到2.3.2的lot has changed,还有一堆安全性,性能和错误修复。 ActiveScaffold与rails 2.3.2兼容,就像大多数插件一样。如果您要开始一个新项目,我建议您使用最新最好的项目。

  

使用Ruby 1.9有什么好处?许多插件尚不兼容。它提供了一个伟大的   对旧版本的改进?

Ruby 1.9比Ruby 1.8.x快得多,但1.9的采用率并不高。 Rails 2.3.2在Ruby 1.9上运行得很好,但是有一些插件和宝石没有。请务必阅读有关该主题的this stackoverflow问题。