firebase - firebase - 如何将软件安装到已部署到的服务器上?
问题描述
我在使用 firebase 函数时遇到错误。当我使用模拟器在本地运行这些功能时,它们工作正常。但是,当我firebase deploy
随后执行某个功能时,我收到一个错误,提示我部署到的服务器上安装的 ffmpeg 版本已过时
如何ffmpeg
在服务器上更新(或任何软件)?也许我通过 SSH 连接并更新软件?也许我应该提供一些配置来定义我的代码在部署之前所依赖的软件?请告知如何进行更新谢谢
选读:
我的 Node.js 代码使用execSync(myFfmpegCommand)
这就是存在依赖项的原因
解决方案
这是我的发现。
由于磁盘是只读的,因此您无法将自定义软件安装到 Node.js运行时环境中。如果您想要的软件不在运行时环境中,那么您就被塞满了。
我进一步发现,函数并不适用于重量级的工作,而只是适用于轻量级的操作。如果一个函数需要做一些繁重的工作,那么它可以要求 Google App Engine 为它做这件事。该函数通过 HTTP 或 PubSub 与 App Engine 通信。
我听到你问什么是 App Engine!它基本上允许您将服务器代码部署到云中。例如,想想您通常用于后端的 express.js 服务器。这就是 App Engine。然后你只需部署它!
App Engine 可以通过 yaml 文件进行配置以确定内存,也可以选择通过 Dockerfile 来确定要使用的操作系统和要安装的软件。yaml 看起来像这样:
runtime: custom # uses Dockerfile
env: flex
manual_scaling:
instances: 1
resources:
cpu: 1
memory_gb: 0.5
disk_size_gb: 10
将 App Engine 视为重担。当一个 firebase 函数想要做一些艰苦的工作时,它只是要求 App Engine 为它做这件事!通过这种方式,firebase 函数成为触发其他工作的简单事件处理程序。
推荐阅读
- android - @RequiresApi(Build.VERSION_CODES.M) 在方法之前有什么用?
- python - 将相关字段添加到序列化程序时出现问题
- jenkins - Jenkins:评论 Bitbucket 拉取请求
- c# - 异步方法似乎不等待,即使它在 C# 中包含“await”关键字
- html - 图像未从本地显示
- lodash - groupBy 和 value 作为 key
- powershell - 查询 PowerShell 优先级
- python - 从字典列表中获取多个列表
- flutter - Flutter,_shared 包是什么?
- dotnetnuke - 完成从 Dnn 9.1.1 升级到 9.3.0 后出现 HTTP 503 错误