Sam*_*mpo 26 npm package.json npm-audit
npm audit fix旨在自动升级/修复 npm 包中的漏洞。但是,我还没有发现它究竟做了什么来修复这些漏洞。
我认为这npm audit fix会将依赖项和依赖项的依赖项升级到包的 semver 定义允许的最新版本——实际上与rm package-lock.json; npm install. 但是npm audit fix在锁定文件删除+重新安装后仍然会执行很多更改。
究竟是npm audit fix做什么的?例如,它是否安装了比相应package.json(但仍与 semver 兼容)允许的版本更新的依赖项版本?
Noa*_*May 20
从 NPM网站上的审计命令:
npm audit fixnpm install在引擎盖下运行一个成熟的
默认情况下,审计修复似乎只进行与 semvar 兼容的升级。在文档前面列出:
有审计修复安装 semver-major 对顶级依赖项的更新,而不仅仅是与 semver 兼容的:
Run Code Online (Sandbox Code Playgroud)$ npm audit fix --force
至于锁定文件,每次运行更改package.json. 此处的答案以及官方文档中提供了有关此内容的更多信息。
Car*_*cia 18
在我的理解中,不仅是“升级”,有时还会降级,以便安装解决问题的稳定版本,有时这些问题出现在较新的版本中,可能引入了错误或根本与以前的包的 API 等不匹配。
例如,在我的例子中,npm install 已将反应脚本升级到 5.0.0,但存在一些问题,运行后:
npm audit fix --force
Run Code Online (Sandbox Code Playgroud)
Force 标志的作用是:要解决所有问题(包括重大更改),请运行:npmauditfix --force
它安装了 3.0.1,并显示以下消息:
npm WARN audit Updating react-scripts to 3.0.1,which is a SemVer major change.
Run Code Online (Sandbox Code Playgroud)
因此,它会升级到该软件包的稳定版本来解决该问题。
最重要的是,虽然文档声明“正在后台运行 npm install”,但并不是安装最新版本的依赖项,但对于检查 npm ci 发生的情况也很有用,“npm install”和“ npm install”之间有什么区别“npm ci”?
| 归档时间: |
|
| 查看次数: |
19832 次 |
| 最近记录: |