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

2024-01-18

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

我之前曾在应用程序中使用过捆绑器,并且我了解它如何管理应用程序的依赖项...但由于我安装了 Passenger 并且这是托管环境的依赖项,因此我需要在盒子本身上执行“gem install Passenger”捆绑这种依赖关系,对吗?或者我应该将乘客放入应用程序的 Gemfile 中?


应用程序本身无需安装乘客(unicorn、webrick、mongrel、thin 等)即可运行,因此乘客不应该真正位于 Gemfile 中。在这种情况下,将乘客作为宝石单独安装将是正确的选择。

将 Gemfile 视为您的应用程序正在使用的 gem 的列表。 Passenger 使用您的应用程序向用户提供数据,而不是您的应用程序使用它。将来,您可能会考虑使用另一个应用程序服务器,并且您不必更改应用程序的任何部分(甚至 Gemfile)即可进行更改。

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

即使我的应用程序使用捆绑器,我是否需要将乘客安装为常规 gem? 的相关文章

随机推荐

  • 用于从特定文件夹下载文件的Servlet?

    我是JAVA技术的新手 尤其是Servlet 我需要制作一个Web应用程序项目 其中有一个上传和下载文件到 从服务器 tomcat 我已经有一个上传servlet 工作正常 我还有一个下载 servlet 在互联网上找到 但问题是这个 se
  • 如何使用单个提交按钮在一页中提交 2 个表单

    我创建了一个包含两个表单的 php 页面 但我希望这两个表单都只有一个提交按钮 表格有ids firstform secondform 我尝试过其他脚本 但它们实际上不起作用 下面是我的代码
  • RibbonControlsLibrary - 如何禁用最小化?

    如何从 RibbonControlsLibrary 禁用功能区控件的最小化 以下内容禁用了双击选项卡标题和上下文菜单上的 最小化功能区 public class ExRibbon Ribbon public override void On
  • 可投放的 可投放的

    我有这个标记 ul class cat ul class cat ul ul class cat ul ul 我做了这件事 ul cat droppable drop function alert this attr id 它总是写 你好
  • Cruise Control .net:使用包并显示 NUnit 结果

    经过一番困惑后 我终于成功地在我们的构建服务器上部署了 Cruise Control net 的实例 它每隔几分钟轮询一次服务器 并且仅在检测到 svn 存储库中的更改时才进行构建 对于构建和测试 我结合使用了 MSBuild 和 NUni
  • 是否可以在“拉模式”下运行剧本?

    我有一些在主主机上启动并在远程主机上运行特定操作的剧本 这是一种 推送 模式 活动由主控主机发起 我的几台主机在给定时间停机 并且在这种状态下显然无法运行剧本 这会导致主机是最新的 而其他主机则不是 为了解决这个问题 我可以以常规方式在主主
  • 使用 Google Drive API 更新文件错误 403

    目前 我使用 Google Cloud 的 GWT 应用程序遇到问题 我实际上有一段代码 允许您使用谷歌驱动器应用程序上传文件 除此之外 随着谷歌的更新 谷歌驱动器上的文件不再可能有多个父级 我们可以在这里看到 https cloud go
  • C++ 中变量的作用域最小化

    我现在正在编程一段时间 并开始尝试改进我的代码 由于我真的很讨厌创建大量在长函数中仅使用一次的变量 因此通过使用括号来缩短变量范围是一个好习惯吗 IE 而是写 void fcn int var1 some part of fcn use o
  • 如何在 CLI 容器之外查询 Hyperledger Fabric 区块链数据?

    我正在使用 Fabric sample 中的 byfn sh 脚本来启动我的区块链 我想从区块链中调用和查询 PHP 网站的数据 我确实知道我只能使用 CLI 容器中的 API 调用或使用 JavaSDK NodeSDK RESTapi 如
  • C++11 何时使用内存栅栏?

    我正在编写一些线程 C 11 代码 并且我不完全确定何时需要使用内存栅栏或其他东西 所以这基本上就是我正在做的事情 class Worker std string arg1 int arg2 int arg3 std thread thre
  • Azure DevOps Build 出现错误:无法找到程序集“System.ComponentModel.Annotations”

    我有一个 netstandard 2 0 项目 参考System ComponentModel Annotations 它在我的本地计算机上构建得很好 但是当我尝试使用 Azure DevOps 管道构建它时 出现以下错误 警告 MSB32
  • Octave 字体配置错误

    我按照给出的说明通过 Homebrew 安装了 Octavehere http jatinganhotra com blog 2014 01 21 installing octave on os x 10 dot 9 mavericks 当
  • AngularJS {{ 值 | number:1 }} 不四舍五入到小数点后 1 位

    p b x title b Rating x rating number 1 p 上面的代码是我正在使用的 它正确获取值 因为它显示一个未舍入的数字 例如 3 333333333 所以我知道该值已正确传递 为什么 number 过滤器不起作
  • 我是否需要重复使用相同的 Akka ActorSystem,还是可以在每次需要时创建一个?

    Akka 2 x 需要很多命令来引用ActorSystem 因此 创建一个 actor 的实例MyActor你可能会说 val system ActorSystem val myActor system actorOf Props MyAc
  • python protobuf无法反序列化消息

    在 python 中开始使用 protobuf 我遇到一个奇怪的问题 一个简单的消息原型定义是 syntax proto3 package test message Message string message 1 string sende
  • 无法通过API上传github发布资产

    我有一个 github 版本 但还没有资产 curl https api github com repos cljsinfo api docs releases 1260660 assets 但是我不能上传资产 https develope
  • Windows 中带有 mcrypt 的 PHP 7.2

    有一些巨大的遗留系统依赖于 PHPmcrypt极其重要且至关重要 包括数据库中的数据存储 我需要找到一种方法来维护这个库 同时升级到 PHP 7 2 已经运行良好 我本地的测试环境是Windows 现场环境运行在CentOS上 我看到的一些
  • preg_replace 中的 urlencode

    str preg replace look 1 80 Ui look a href 1 a str 我想对 url 进行编码 但我该怎么做呢 我可以在 preg replace 中使用 urlencode 函数吗 类似的东西 str pre
  • 如何从 stdin 读取一个字符而无需按 Enter 键?

    I want to run an executable that blocks on stdin and when a key is pressed that same character is printed immediately wi
  • 即使我的应用程序使用捆绑器,我是否需要将乘客安装为常规 gem?

    我正在尝试设置一个新服务器来托管 Rails 应用程序 并希望干净安装所有组件 因此我决定使用 rvm bundler 这是我第一次设置 Rails 服务器 我之前曾在应用程序中使用过捆绑器 并且我了解它如何管理应用程序的依赖项 但由于我安