我有一个需要 Node 版本 12 或更高版本的 Node.js 项目。有没有办法在 packages.json
文件中指定这个,这样安装程序会自动检查并通知用户是否需要升级?
原文由 Erel Segal-Halevi 发布,翻译遵循 CC BY-SA 4.0 许可协议
我有一个需要 Node 版本 12 或更高版本的 Node.js 项目。有没有办法在 packages.json
文件中指定这个,这样安装程序会自动检查并通知用户是否需要升级?
原文由 Erel Segal-Halevi 发布,翻译遵循 CC BY-SA 4.0 许可协议
5 回答3.8k 阅读
2 回答2k 阅读✓ 已解决
5 回答2.3k 阅读
3 回答2.1k 阅读
2 回答794 阅读✓ 已解决
2 回答1k 阅读✓ 已解决
3 回答1.2k 阅读
您可以在
package.json
中设置engines
字段,并为node
或npm
中的任何一个设置要求:要通过 npm 强制执行此操作,您需要创建一个
.npmrc
文件(并将其提交到存储库)并将engines-strict
选项设置为true
,这将导致 npm —如果所需的引擎版本不匹配,诸如npm install
之类的命令将失败:如果没有该文件,每个开发人员都需要在本地工作区中运行
npm config set engine-strict true
才能打开此选项。原始答案
正如您所说,您的代码绝对不适用于任何较低版本,您可能也需要“engineStrict”标志:
package.json 文件的文档可以 在 npmjs 站点上 找到
更新
engineStrict
现在已弃用,因此只会发出警告。现在由用户来运行npm config set engine-strict true
如果他们想要这个。更新 2
正如下面所指出的,在项目的根目录(与 package.json 文件相同的级别)创建一个
.npmrc
文件,其中包含文本engine-strict=true
将在安装期间强制出错,如果Node 版本不兼容。