0

我有这个配置:

$ node -v
v16.13.0

$ npm -v
8.1.2

$ npm config get shrinkwrap
true

$ npm config get package-lock
true

FWIW 我在 macOS 10.15.17 上,Node.js 是通过 MacPorts 安装的。

当我运行npm installnpm install --package-lock-only没有package-lock.json创建时。但是,有这样的:

$ ls -l node_modules/.package-lock.json 
-rw-r--r--  1 david  admin  301536 Dec 14 18:48 node_modules/.package-lock.json

该日期在最后 10 分钟内。我已删除node_modules并重新运行安装。而且,我已经跑了npm cache clean --force

当我运行npm install输出时,会谈到一些中等严重程度的漏洞。我显然想了解更多,但得到这个:

$ npm audit
npm ERR! code ENOLOCK
npm ERR! audit This command requires an existing lockfile.
npm ERR! audit Try creating one first with: npm i --package-lock-only
npm ERR! audit Original error: loadVirtual requires existing shrinkwrap file

npm ERR! A complete log of this run can be found in:
npm ERR!     /Users/david/.npm/_logs/2021-12-15T02_48_57_735Z-debug.log

运行npm audit fixnpm audit fix --force不改变任何东西。

第一条消息 - 需要一个锁定文件 - 为什么还不够node_modules/.package-lock.json好?

调试日志不包含任何有用的信息。

我已经阅读了有关 stackoverflow 和其他地方的几篇帖子,并收集了推荐的信息。假设使用此配置,应该创建文件,然后npm audit会很高兴。但是,事实并非如此。

4

0 回答 0