Github Dependabot 修复方案记录
dependabot检测都是packag-lock.json文件,所以以下内容默认都是基于该文件,常规修复方案例如npm audit
这种就不赘述了
1、类型1,提示某个package版本低,且是在dependencies
下,在lockage-lock.json中未搜索到"node_modules/xxxx"
这种最简单暴力的方式就是之间安装这个推荐版本的包,npm install tmp@0.2.4
2、类型2,提示node_modules/xxxxx
这个时候在package.json中搜索下,如果有则直接安装推荐版本,如果没有,这个时候就直接修改package-lock.json文件中的版本,但是要注意,只能修改version
不能修改resolved
如果你改了这个,会导致hash验证不通过,除非你连下面的integrity
都一起改。
3、类型3,如果某个package是其它的依赖,但是其它的package无法升级,这种最恶心。
终极方案,在package.json中overrides中强制使用某个版本,然后重新生成下package-lock.json npm install --package-lock-only
如果上述方式生成package-lock.json不好用,建议使用下面的命令
# 彻底清理
rm package-lock.json
rm -rf node_modules
npm cache clean --force
# 重新安装
npm install