ENOLOCK npm 错误!运行 npm 审核修复时出错

问题描述 投票:0回答:2

我正在尝试从我的主目录中使用 npm 全局安装一个包。安装完成后,显示存在漏洞。尝试运行

npm audit fix
时,出现以下错误。

npm 错误!代码 ENOLOCK npm 错误!审核此命令需要现有的 锁文件。 npm 错误!审计 尝试先使用以下命令创建一个: npm i --package-lock-only npm 错误!审核原始错误:loadVirtual 需要现有的收缩包装文件

我知道该错误要求我运行

npm i --package-lock-only
,但是我应该在哪个目录中创建此文件?在不指定路径的情况下运行该命令不起作用。我还尝试在安装包的目录中创建文件,但这也没有解决问题。另外,为什么这个文件一开始不存在?

javascript node.js vue.js npm npm-install
2个回答
2
投票

npm audit fix
旨在修复您自己项目的依赖项的漏洞。项目确实有一个
package-lock.json
文件。

它不适用于全局安装的软件包。如果其他人的软件包存在漏洞,则需要由软件包维护者在新版本中修复。然后您可以更新到这个新版本。

顺便说一句,您不应该使用全局安装的软件包。 使用

npx
代替


0
投票

出现此错误的原因有多种。以下是可能的原因及其解决方案:

1。您所在的目录有误

原因:大多数时候,问题是您不在

package.json
package-lock.json
文件所在的正确项目目录中。

解决方案: 使用以下命令导航到终端中的正确目录:

cd /path/to/your/project

2。缺少 package-lock.json 原因:您的项目目录中缺少package-lock.json文件。

解决方案: 运行以下命令来生成它:

npm install

这将创建一个新的 package-lock.json 文件。

3. package-lock.json 内容无效

原因:package-lock.json 文件可能已损坏,这种情况有时会在自动 Git 合并期间发生。

解决方案: 删除package-lock.json文件:

rm package-lock.json

重新安装依赖项以重新生成有效文件:

npm install

4。过时的 npm 版本

原因:您可能正在使用过时的 npm 版本,该版本不兼容或存在错误。

解决方案: 更新到 npm 的最新版本:

npm install -g npm@latest

5。 npm 缓存问题

原因:如果上述解决方案均不起作用,则您的 npm 缓存可能已损坏。

解决方案: 清除 npm 缓存:

npm cache clean --force

或者,您可以验证缓存完整性:

npm cache verify
© www.soinside.com 2019 - 2024. All rights reserved.