我正在尝试设置一个新服务器来托管 Rails 应用程序,并希望干净安装所有组件,因此我决定使用 rvm+bundler。这是我第一次设置 Rails 服务器。
我之前曾在应用程序中使用过捆绑器,并且我了解它如何管理应用程序的依赖项...但由于我安装了 Passenger 并且这是托管环境的依赖项,因此我需要在盒子本身上执行“gem install Passenger”捆绑这种依赖关系,对吗?或者我应该将乘客放入应用程序的 Gemfile 中?
应用程序本身无需安装乘客(unicorn、webrick、mongrel、thin 等)即可运行,因此乘客不应该真正位于 Gemfile 中。在这种情况下,将乘客作为宝石单独安装将是正确的选择。
将 Gemfile 视为您的应用程序正在使用的 gem 的列表。 Passenger 使用您的应用程序向用户提供数据,而不是您的应用程序使用它。将来,您可能会考虑使用另一个应用程序服务器,并且您不必更改应用程序的任何部分(甚至 Gemfile)即可进行更改。
但是,如果您的应用程序实际上在内部使用乘客特定的功能或乘客 gem 的一部分,那么您应该将其包含在内。例如,如果您使用在乘客中声明的类,那么您将依赖它,并且应该将其包含在您的 Gemfile 中。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)