在npm中,有一个ci
命令用于以干净状态安装项目。在留档中,据称:
通过跳过某些面向用户的功能,它可以比常规npm安装快得多。它也比常规安装更严格,这有助于捕获大多数npm用户增量安装的本地环境所导致的错误或不一致。
在纱线世界中,npm ci
命令最接近的等价物是什么?也许答案是,我们不需要这种纱线,因为它的架构是这样的,我们不需要特殊的模式。也许答案是使用一组配置设置。然而,我没有找到一个完整的答案来回答这个问题,我相信拥有它是很有价值的。
我相信就这么简单:
yarn install --frozen-lockfile
不幸的是,由于纱线模块分辨率的工作方式,仅仅进行纱线安装-冻结-锁定文件有时是不够的。您仍然可以使用无效的传递性deps。
要真正获得与npm ci相同的行为,必须执行以下操作:
rm -rf node_modules && yarn install --frozen-lockfile
基于@Crafty_Shadow的建议,我让它更加集成。
包裹json
...
"scripts": {
...
"preci": "rm -fr node_modules",
"ci": "yarn install --frozen-lockfile"
},
...