答案 0 :(得分:10)
npm 5.7引入了npm ci
子命令:
使用
npm install
和npm ci
之间的主要区别是:
- 项目必须现有
package-lock.json
或npm-shrinkwrap.json
。- 如果包锁中的依赖项与
package.json
中的依赖项不匹配,npm ci
将退出并显示错误,而不是更新包锁。npm ci
一次只能安装整个项目:使用此命令无法添加单个依赖项。- 如果
node_modules
已存在,则会在npm ci
开始安装之前自动将其删除。- 永远不会写入
package.json
或任何包锁:安装基本上都是冻结的。
答案 1 :(得分:1)
这就是我在dockerfile
RUN npm install --pure-lockfile
它应该工作完美。