主要功能:
- 检测本地 node、npm 版本是否满足项目环境要求
- 检测 package-lock.json文件提交时,文件版本是否改变(防止 package-lock.json 版本不同引发的一系列问题)建议配合 husky 使用
- 限制 package-lock.json 文件版本使用指定版本
安装
npm i -D node-env-strict
直接使用:
npx node-env-strict 检测package-lock.json文件提交时,文件版本是否改变
Options:
-c,--check-engine 检查当前的node、npm环境是否满足package.json中engines的限制
-r,--restrict-version 2 限制具体的package-lock.json文件版本,可选版本为:[1,2,3]
检查当前的 node、npm 环境,是否满足项目环境要求
在package.json增加配置engines,指定node、npm版本范围
"engines": {
"node": "7.10.0",
"npm": "4.2.0"
}
指令:
npx node-env-strict -c
效果:
指定 package-lock.json 文件版本
npx node-env-strict -r=2
效果:
🌟 推荐配合 husky 使用
安装 husky 后执行指令:
npx husky add .husky/pre-commit "node-env-strict"
或者编辑.husky/pre-commit
#!/bin/sh
. "$(dirname "$0")/_/husky.sh"
// 增加
npx node-env-strict
lockfileVersion 和 npm、node 版本对应信息
lockfileVersion | npm | node | 备注 |
---|---|---|---|
none | < 5.0 | < 8.0 | 未提供版本:来自 npm 5.0 之前的 npm 版本 |
1 | 5.0 ~ 6.0 | 8.0 ~ 14.20 | |
2 | 7.0 (向下兼容) | >= 15.0.0 | npm 7.0 向下兼容 lockfileVersion 1 |
3 | 7.0 | >= 15.0.0 | npm 7.0 (不向下兼容) |