npm8中文文档
此命令与 npm install
类似,不同之处在于它旨在用于自动化环境,例如测试平台、持续集成和部署——或任何您希望确保对依赖项进行全新安装的情况。
使用 npm install
和 npm ci
的主要区别是:
package-lock.json
或 npm-shrinkwrap.json
。package.json
中的依赖项不匹配,npm ci
将退出并出错,而不是更新包锁。npm ci
一次只能安装整个项目:无法使用此命令添加单个依赖项。node_modules
已经存在,它将在 npm ci
开始安装之前自动删除。package.json
或任何包锁:安装基本上是冻结的。注意:如果您通过运行带有可能影响依赖关系树形状的标志(例如 --legacy-peer-deps
或 --install-links
)的 npm install
来创建 package-lock.json
文件,则必须向 npm ci
提供相同的标志,否则您可能会遇到错误。一个简单的方法是运行例如 npm config set legacy-peer-deps=true --location=project
并将 .npmrc
文件提交到您的 repo。