JS:nvmrc 与 package.json 引擎?

bur*_*wel 5 javascript node.js npm package.json

我试图在我的 javascript 项目中锁定 node 和 npm 版本,以确保其他开发人员在构建要提交的包时拥有这些特定版本。我刚刚将它添加到我的 package.json 中:

  "engineStrict" : true,
  "engines": {
    "node" : "10.10.0",
    "npm" : "6.5.0"
  },
Run Code Online (Sandbox Code Playgroud)

这会最终强制执行这些版本吗?我不熟悉锁定版本,因为我曾经是前端项目或已设置此设置的继承项目的唯一开发人员。
或者,添加一个.nvmrc指定相同版本的文件是否有好处,或者如果我使用引擎是多余的?

小智 8

强制执行 Node.js 版本

engineStrict自 npm v3 起已弃用,但您可以engine-strict=true在 .npmrc 文件中进行设置。如果你engines在 package.json 中设置了,当有人在不支持的 Node.js 版本上安装时会抛出错误。

.nvmrc 方便开发者

为了让其他开发人员更容易使用受支持的 Node.js 版本,您可以添加一个 .nvmrc 文件。现在其他开发人员可以运行nvm use以自动使用受支持的版本。