问题描述
我在 MacOS Catalina 上安装了 Node v10.22.0、npm 6.14.6。
我从一个包含 package-lock.json
的 git repo 开始,它指定了 @truffle
依赖项,没有 node_modules
文件夹,没有 package.json
。克隆存储库后,我运行 npm install
来安装依赖项。 npm 文档说
如果包有包锁...,安装 依赖项将由此驱动
令人惊讶的是,它实际上安装了 8 个与我的项目无关的软件包:d
、es5-ext
、es6-iterator
、es6-symbol
、ext
、{{ 1}},next-tick
AND 它用包含对这 8 个包的依赖项的新包覆盖 type
。
如果我覆盖 package-lock.json
并启动 package-lock.json
,它会重新执行相同的操作。
问题:
- 发生了什么?
- 如何让
npm install
正确填充npm install
?
解决方法
使用 npm ci
根据您的锁定文件安装依赖项。有关此命令的更多详细信息,请查看 this answer,它可以回答您的问题。