如何在项目中使用npm@6.6.7?当前本地/全局npm版本不符
解决方案
先明确各命令的实际含义
npm view npm version:查询npm官方仓库的最新稳定版,显示9.6.7是正常的,和本地环境无关npm -v:显示当前shell环境正在使用的npm版本(9.5.1)npm list:显示当前项目本地依赖中记录的npm版本(9.6.7),但和package-lock.json里的6.6.7冲突,说明依赖状态不一致npm list -g:显示全局安装的npm版本(9.6.7)
具体解决步骤
- 统一全局npm版本到和Node 18.16.0兼容的版本
Node 18.16.0官方默认配套的npm版本是9.5.1,先把全局npm对齐到这个版本:
npm install -g npm@9.5.1
执行完后重新打开终端,运行npm -v确认显示9.5.1。
- 修复项目依赖与package-lock.json的不一致
项目里的package-lock.json遗留了旧版本npm的锁定记录,且和当前依赖状态冲突,执行以下操作:
- 删除项目目录下的
package-lock.json和node_modules:
rm -rf package-lock.json node_modules
- 用当前环境的npm重新安装依赖,生成新的lock文件:
npm install
新生成的package-lock.json会基于当前使用的npm@9.5.1生成,不会再出现6.6.7的锁定记录。
- 验证结果
- 运行
npm -v确认版本为9.5.1 - 查看项目根目录的新
package-lock.json,搜索npm关键字,确认版本为9.5.1 - 运行
npm list,项目依赖中的npm版本会和全局版本一致(若项目未直接依赖npm,则不会显示该条目,属于正常情况)
内容的提问来源于stack exchange,提问作者Jennifer Estes
相关产品推荐
相关产品推荐

