关于npm audit fix

6,670 阅读1分钟

背景:

执行npm install 出现如下提醒

added 253 packages from 162 contributors and audited 1117 packages in 42.157s
found 5 vulnerabilities (1 low, 4 high)
  run `npm audit fix` to fix them, or `npm audit` for details html

按照控制台提示的命令,输入‘npm audit fix’后,控制台提示:


1 package update for 5 vulns involved breaking changes
  (use `npm audit fix --force` to install breaking changes; or do it by hand)

输入:‘npm audit fix --force’后,控制台提示:

added 199 packages from 111 contributors, removed 64 packages and updated 23 packages in 42.194sfixed 5 of 5 vulnerabilities in 1117 scanned packages
  1 package update for 5 vulns involved breaking changes
  (installed due to `--force` option)

重新输入‘npm audit’:

                      === npm audit security report ===

found 0 vulnerabilities
 in 4598 scanned packages

终于一切正常。

npm官网上查阅了对于npm audit fix的相关介绍。

npm audit : npm@5.10.0 & npm@6,允许开发人员分析复杂的代码,并查明特定的漏洞和缺陷。

npm audit fix :npm@6.1.0,  检测项目依赖中的漏洞并自动安装需要更新的有漏洞的依赖,而不必再自己进行跟踪和修复。

同时,官网中还提供了一些其他的命令,整理如下:

  1. 运行audit fix,但是只更新pkglock, 不更新node_modules:
$ npm audit fix --package-lock-only
  1. 只更新dependencies中安装的包,跳过devDependencies中的包:
$ npm audit fix --only=prod

3.运行命令,得到audit fix将会更新的内容,并且输出json格式的安装信息,但是并不真的安装更新:

$ npm audit fix --dry-run --json
  1. 得到json格式的详细检测报告

$ npm audit --json 附:

npm-audit 官网地址:docs.npmjs.com/cli/audit