Firebase云函数:引擎节点与此模块不兼容。

11

我已经创建了一个Firebase云函数项目,其中默认添加了以下依赖项和以下引擎:

"dependencies": {
  "firebase-admin": "^8.0.0",
  "firebase-functions": "^3.1.0"
},
"engines": {
  "node": "8"
}
每当我运行yarn add命令时,会出现以下错误并且依赖项未被添加:
error firebase-admin@8.4.0: The engine "node" is incompatible with this module. Expected version "^8.13.0 || >=10.10.0". Got "8.11.4"

我尝试将节点引擎版本更改为10 "engines": {"node": "10"},但现在在使用yarn add时出现以下错误:

I then try change node engine version to 10 "engines": {"node": "10"}, but now get the following error when I yarn add:

error functions@: The engine "node" is incompatible with this module. Expected version "10". Got "8.11.4"

如何解决这个问题?


请问您在尝试解决错误信息后,整个package.json文件的内容是什么样子?请编辑问题以展示它。 - Doug Stevenson
3个回答

17

有一个Github问题解决了你所遇到的问题。简而言之,你可以:

  • 运行yarn config set ignore-engines true
  • 确保 node -vnpm -v 中的版本与package.json中列出的版本匹配,如果不匹配,则更新以匹配所需版本。

1
谢谢。"确保node -v中的版本与package.json中列出的版本匹配"解决了我的问题。我建议不要每次计算机有不同版本时都"相应地编辑package.json",而是将计算机更新到所需的版本,这对我很有效。 - David Callanan
1
不设置在配置中 yarn install --ignore-engines - frmbelz

2

使用 nvm 可以使用不同版本的 node。


安装后,您可以使用以下命令查看所有可用版本:

$ nvm ls-remote
    v0.1.14
    v0.1.15
    v0.1.16
    v0.1.17
    v0.1.18
...
   v12.13.1
    v13.0.0
    v13.0.1
    v13.1.0
    v13.2.0

接着安装你需要的版本。例如,如果你需要安装8版本:

$ nvm i 8
Downloading https://nodejs.org/dist/v8.16.2/node-v8.16.2-linux-x64.tar.xz...
######################################################################## 100,0%
WARNING: checksums are currently disabled for node.js v4.0 and later
Now using node v8.16.2 (npm v6.4.1)

测试:

$ node -v
v8.16.2

-2

可能需要将此添加到您的package.json文件中

"engines": {
    "node": "8" // or "10"
}

抱歉,我的问题中有一个打字错误。我尝试了8和10两个选项。 - David Callanan

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接