关于npm i出现的安全漏洞问题
有时候通过git拉下来代码之后,使用npm i 会出现如图所示的问题:
虽然这些问题对于启动项目没有影响,但是作为一个前端还是要了解到底是什么一回事,探其究竟。
npm audit
在npm6更新了一个新指令-npm aduit命令,npm audit 命令会递归地分析依赖关系树以识别不安全的依赖,如果你在项目中使用了具有已知安全问题的依赖,就收到警告通知。该命令会在你更新或者安装了新的依赖包后自动运行。npm 官方专门维护了一个漏洞列表,当开发者或者专业的安全团队发现某个依赖包存在安全问题后就会上报给 npm 官方,然后官方会通知该项目开发者进行修复,修复完成后 npm 会把漏洞详细的描述信息、解决方案发布出来。
下面会对npm aduit命令使用后的漏洞信息进行讲解
- High: 表安全漏洞等级
- Patched in: 表示可用的补丁版本
- Package: 存在漏洞的包名称
- Dependency of: 当前工程直接依赖的包名称
- Path: 漏洞完整依赖路径
- More info: 漏洞详情
关于npm audit fix 和npm audit fix --force
npm audit fix 是自动修复版本安全问题的,会版本修复到可用的安全版本,然后如果npm audit fix无效的,切记慎用npm audit fix --force 这个是强制将版本更新到最新可用的安全版本,如果盲目使用的话可能会造成依赖问题(如A包依赖B包,结果B包强制更新,依赖找不到了),所以需要使用npm audit查看具体问题与可解决的版本