Firebase CLI:“功能:警告!在 PACKAGE.JSON 中找不到引擎字段。默认为节点 6 运行时。”

Posted

技术标签:

【中文标题】Firebase CLI:“功能:警告!在 PACKAGE.JSON 中找不到引擎字段。默认为节点 6 运行时。”【英文标题】:Firebase CLI: "functions: WARNING! NO ENGINES FIELD FOUND IN PACKAGE.JSON. DEFAULTING TO NODE 6 RUNTIME." 【发布时间】:2019-09-21 11:07:50 【问题描述】:

我将 Firebase CLI 升级到了 6.8.0 版。现在,当我部署我的函数时,我会收到如下所示的警告消息:

⚠ 功能:警告!在 PACKAGE.JSON 中未找到任何引擎字段。默认为节点 6 运行时。从 2019 年 6 月 1 日开始,如果 package.json 中未指定引擎字段,则部署将被阻止。要解决此问题,请将以下几行添加到您的 package.json:

 "engines": 
   "node": "6"
 

我应该怎么做才能避免这个错误信息?

【问题讨论】:

【参考方案1】:

Cloud Functions 上的 nodejs 6 运行时现已弃用并被删除,因为 nodejs 6 已过期长期支持 (LTS)。您可以查看节点here的各个版本的LTS时间表。

现在显示该消息是因为 Firebased CLI 之前将节点 6 作为默认值,但它不想破坏您的部署。您必须明确说明要部署的节点版本。您可以听取警告消息的建议并指定节点 6,但由于节点 6 已停产,您应该至少以节点 8 为目标,该节点现已退出测试版。

要指明您想要的节点运行时版本,请编辑您的 package.json 并在其中包含一个新的***子项,如下所示,其中一个子项名为“engines”:


  // other configurations here…
  "dependencies": 
  ,
  // Add an “engines” child to choose a node version, here it’s node 8.
  "engines": 
    "node": "8"
  

此要求也反映在 documentation 和 Firebase CLI 创建的默认项目模板中。

如果您专门针对节点 6,您将看到此警告消息:

⚠ 函数:将函数部署到已弃用的 Node 6 运行时。 Node 8 可用并且是推荐的运行时。

【讨论】:

以上是关于Firebase CLI:“功能:警告!在 PACKAGE.JSON 中找不到引擎字段。默认为节点 6 运行时。”的主要内容,如果未能解决你的问题,请参考以下文章

在现有 Firebase 项目目录中初始化 firebase CLI 功能

无法使用 Windows 10 安装 Firebase 工具 cli

markdown Firebase CLI命令

Vue Cli 3 和 Firebase 服务工作者注册

在 cli 上部署云函数,“Firebase 配置变量不可用。”

我可以完全从 CLI 或脚本创建和配置 GCP 项目 + Firebase 吗?