“yarn install --frozen-lockfile”的 NPM 等价物是什么?

use*_*014 15 npm npm-install yarnpkg package-lock.json

我正在使用 npm 作为构建生产 docker 映像的一部分。我想确保 package-lock.json 不会改变和匹配。

And*_*tar 17

您可以使用npm ci.

npm ci 绕过包的 package.json 以从包的锁文件安装模块。这确保了可重复的构建——您在每次安装时都能获得您所期望的结果。

https://blog.npmjs.org/post/171556855892/introducing-npm-ci-for-faster-more-reliable

  • 遗憾的是 `npm ci` 会删除 node_modules,因此它通过删除缓存对 ci 管道造成了相当烦人的惩罚。 (6认同)
  • 但这并不能确保它与“package.json”匹配? (3认同)
  • @VoxPelli [文档](https://docs.npmjs.com/cli/v8/commands/npm-ci) 指出“如果包锁中的依赖项与 package.json 中的依赖项不匹配,`npm ci` 将退出并出现错误,而不是更新包锁。” (2认同)