即使我的应用程序使用捆绑包,我是否需要将乘客安装为常规宝石?

udi*_*dit 4 ruby ruby-on-rails passenger bundler

我试图设置一个新的服务器来托管Rails应用程序,并希望干净安装所有组件,所以我决定使用rvm + bundler.这是我第一次设置Rails服务器.

我之前使用过捆绑式应用程序,我理解它如何管理应用程序的依赖...但是因为我安装了Passenger,因为这是托管环境的依赖性,我需要在盒子本身做一个"宝石安装乘客"捆绑这种依赖,对吧?或者我应该将乘客放在应用程序的Gemfile中?

Seb*_*dis 5

应用程序本身将在没有安装乘客(独角兽,webrick,杂种,薄等)的情况下运行,因此乘客不应该真正在Gemfile中.在这种情况下,将乘客作为宝石分开安装将是正确的选择.

查看Gemfile作为应用程序正在使用的gem的列表.Passenger正在使用您的应用程序向用户提供数据,而不是使用它的应用程序.在未来,您可以考虑使用其他应用程序服务器,您不必更改应用程序的任何部分,甚至是Gemfile,以进行更改.

但是,如果您的应用程序实际上是在内部使用乘客特定功能或乘客宝石的一部分,那么您应该包括它.例如,如果您使用的是乘客声明的类,那么您将依赖它,并且应该将它包含在您的Gemfile中.

  • 不可以。即使您使用 Phusion 乘客特定功能,您仍然不应在 Gemfile 中包含“乘客”。 (2认同)