npm install 给出警告,npm audit fix 不起作用
Posted
技术标签:
【中文标题】npm install 给出警告,npm audit fix 不起作用【英文标题】:Npm install gives warnings, npm audit fix not working 【发布时间】:2019-04-05 00:00:39 【问题描述】:我正在开发一个带有 .net 核心 web api 的 Angular 应用程序。
当我克隆这个存储库时,我尝试在 Angular 应用程序上运行 npm install,但出现了一个奇怪的错误:
npm install
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@1.2.4 (node_modules\fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.2.4: wanted "os":"darwin","arch":"any" (current: "os":"win32","arch":"x64")
audited 34090 packages in 14.711s
found 15 vulnerabilities (9 low, 6 high)
run `npm audit fix` to fix them, or `npm audit` for details
另外,如果我尝试执行 npm audit fix,我会收到更多错误:
npm audit fix
npm ERR! code ELOCKVERIFY
npm ERR! Errors were found in your package-lock.json, run npm install to fix them.
npm ERR! Invalid: lock file's @progress/kendo-theme-default@file:https:/registry.npmjs.org/@progress/kendo-theme-default/-/kendo-theme-default-2.48.1.tgz does not satisfy @progress/kendo-theme-default@file:lib/kendo-theme-default
npm ERR! Invalid: lock file's bootstrap@file:https:/registry.npmjs.org/bootstrap/-/bootstrap-4.0.0.tgz does not satisfy bootstrap@file:lib/bootstrap
我该如何解决这个问题?
【问题讨论】:
请包括您的错误跟踪而不是图像。 【参考方案1】:我在尝试安装软件包时遇到了同样的问题。尝试使用这样的sudo
命令全局安装:
sudo npm install -g <package name>
我正在使用 WSL,这种方法对我有用。
【讨论】:
不推荐使用sudo
,因为它允许安装它的软件包以提升的权限运行。请改用nvm
、n
、asdf
之类的节点版本管理器并运行常规的npm i -g [package]
。 (这也适用于 WSL)【参考方案2】:
我最近学到的最好的东西是安装npm-check-updates。 它会自动完成所有操作。
运行ncu
for list 在我的情况下是这样的:
$ ncu
babel-core ^6.26.0 → ^6.26.3
babel-loader ^7.1.5 → ^8.0.6
babel-preset-env ^1.6.1 → ^1.7.0
copy-webpack-plugin ^4.6.0 → ^5.0.5
style-loader ^0.20.2 → ^1.0.1
webpack 4.0.0 → 4.41.2
然后运行ncu -u
自动升级。
【讨论】:
+1 用于 npm-check-updates。还发现这篇文章很有意义,并在看到所有这些错误后帮助我放松:voitanos.io/blog/… ncu 完全按预期工作,让我免了头疼,非常感谢。【参考方案3】:这通常与 package-lock.json 混乱有关。我建议尝试:
1 - 删除你的 package-lock.json
2 - 删除你的 node_modules 文件夹
3 - 再次尝试 npm install
这用于在我的 Angular 应用程序中添加新包时解决几个问题。
祝你好运!
【讨论】:
好的,在查看错误本身之后,它说的是它在 npm 上找不到您正在寻找的这些包。这些似乎是引导程序和剑道 ui 主题。我将仅发送一个想法,也许尝试手动卸载并重新安装它们就可以了。 虽然在 OP 的情况下这可能没问题,但这种做法可能会适得其反。包锁的存在是有原因的——它确保你的依赖结构在安装之间是一致的。如果你删除它,你会丢失它,并且你的代码可能很容易行为不端。也可能不会立即引起注意。如果这样做,请确保至少有很好的测试覆盖率。以上是关于npm install 给出警告,npm audit fix 不起作用的主要内容,如果未能解决你的问题,请参考以下文章
发出带有弃用警告的 npm install -g expo-cli
如何解决 npm install 在非 MAC 操作系统上抛出 fsevents 警告?
npm-update 和 npm-install 可以给出不同的结果吗?
安装 material-ui 时显示警告: $ npm install @material-ui/core npm WARN ajv-keywords@3.2.0 需要 ajv@^6.0.0 的同级