package.json 中的节点引擎 8.x 或 10.x

Node engine 8.x or 10.x in package.json

我试图在 package.json 中指定节点引擎以接受 810 版本。

我试着输入这个:

"engines": {
  "node": "8.x|10.x"
},

但是 运行 yarn 结果:

The engine "node" is incompatible with this module. Expected version "8.x|10.x"

如果我替换为:

"engines": {
  "node": "10.x"
},

...有效(即没有错误)。

有没有办法在 package.json 中接受两个版本的节点引擎?

参见 the documentation,其中包含示例。

提供 space 分隔的引擎列表,其中包含 greater/less 符号。

{ 
  "engines" : { 
    "node" : ">=8.0.0 <11.0.0" 
  }
}

你只需要双管 || 而不是单管。

"engines": {
  "node": "^8 || ^10"
}

会匹配 v8.x.x 或 v10.x.x 但 不会 v9.

您可以在此处阅读更多相关信息 https://docs.npmjs.com/files/package.json#dependencies