【问题标题】:Does Capistrano need to be in the development group in the Gemfile?Capistrano 是否需要在 Gemfile 的开发组中?
【发布时间】:2013-03-27 14:17:48
【问题描述】:

在 rails Gemfile 中,gem 'capistrano' 是否需要在 :development 组内,或者将其放入像 :tools 这样的任意组内有什么好处?

【问题讨论】:

  • 如果您认为我的回复和下面的对话框“已回答”您的问题,您能否将其标记为已解决,以便社区显示为已解决?谢谢!
  • 感谢您的提醒,抱歉让您久等了。旅行妨碍了。
  • 没问题 - 乐于助人!

标签: ruby-on-rails rubygems gem capistrano bundler


【解决方案1】:

简单地说,不,它不需要,但它有利于最佳实践并保持您的 gemset 整洁。做到这一点的最佳方法是有争议的,但基本上只要 Capistrano 在您工作的环境中可供您使用,它与或不相关的组并不重要,尽管我可以看到使用任意:tools 组几乎没有优势,因为:development 将首先在生产中干净且“自动”地排除它。

【讨论】:

  • Doesn't put something in :development 在开发环境中自动加载它,还是我刚刚编造的?似乎把它放在外面是个好主意,即使它只是为了让开发中的应用程序使用更少的内存。谢谢你:)
  • 是的,确实如此。然而,Capistrano 是一个命令行实用程序,它实际上应该只在调用时消耗内存。在开发 gemset 中“加载” Capistrano 的开销非常小,而且在我的书中将其排除在生产环境之外的最大原因不是性能,而是适当性——因为你不从生产环境部署,为什么要占用空间在您的驱动器上安装您的部署工具?您在安装 Capistrano 与未安装 Capistrano 的开发系统上是否发现任何特定的性能问题?
  • 将其排除在生产之外是理所当然的;我们同意这一点。此外,我的应用程序还不够大,无论 cap 在 Gemfile 中的位置如何,我都不会遇到任何性能问题,因此您建议将其保持在生产(和测试)状态并将其推向开发是正确的。我只是想知道这样做是否明智,尤其是当应用程序开始增长并且您开始添加诸如保护宝石之类的东西时。
  • 那时你真的不应该看到很多问题。如果你开始运行警卫,你会在警卫监视然后运行它的任务时看到一些性能延迟,但是当在事件之间空闲时,即使警卫也运行得很瘦。在任何情况下,cap 一直处于休眠状态,直到您需要它为止,而且基于 Capistrano 的存在,我从未在已经使用了 4 年的硬件上运行我的开发环境受到明显影响。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-09-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多