如何修复npm ELOCKVERIFY报错:package-lock.json存在错误
报错含义
该ELOCKVERIFY错误是npm在校验依赖锁文件合法性时抛出的异常,核心原因是package-lock.json中记录的已安装依赖版本,与package.json中声明的对应依赖版本范围不匹配:
- package-lock.json中所有@angular系列依赖的实际安装版本为12.1.3
- package.json中这些@angular依赖声明的版本范围为
~12.1.0-,末尾多出的非法横杠字符导致npm判定12.1.3不满足该版本规则
补充说明:标准语义化版本规则中
~12.1.0代表允许安装12.1.x的所有修复版本,不允许升级到12.2.0及以上版本,正常情况下12.1.3是符合该范围要求的。
修复步骤
- 第一步:打开项目根目录的package.json文件,找到所有@angular相关依赖的版本声明,删除版本号末尾多余的横杠,修正为
~12.1.0 - 第二步:删除失效的锁文件和已安装依赖,执行对应系统的命令:
# macOS/Linux 执行 rm -rf node_modules package-lock.json # Windows 执行 rd /s /q node_modules del package-lock.json
- 第三步:重新执行依赖安装命令即可完成修复:
npm install
如果确认package.json中的版本范围本身是正确的,没有多余字符,可直接执行npm install,npm会自动更新package-lock.json的版本记录匹配声明的范围。
内容的提问来源于stack exchange,提问作者labi
相关产品推荐
相关产品推荐

