在npm中,有一个ci命令用于以clean状态安装项目。在文件中,它声称:

它可以比常规的跳过npm安装快得多 某些面向用户的特性。它也比普通的更严格 安装,这可以帮助捕获由 大多数NPM用户增量安装的本地环境。

在纱线世界中,最接近npm ci命令的是什么?也许答案是我们在纱线中不需要这个,因为它的架构是这样的,我们不需要一个特殊的模式。也许答案是使用一系列配置设置。然而,我没有找到一个完整的答案来回答这个问题,我相信拥有它是有价值的。


当前回答

不幸的是,由于yarn模块解析的工作方式,仅仅执行yarn install -frozen-lockfile有时是不够的。您仍然可以保留无效的传递dep。

要真正获得与npm ci相同的行为,你必须做到:

rm -rf node_modules && yarn install --frozen-lockfile

其他回答

基于@Crafty_Shadow的建议,我让它更加集成。

package.json

  ...
  "scripts": {
    ...
    "preci": "rm -fr node_modules",
    "ci": "yarn install --frozen-lockfile"
  },
  ...

不幸的是,由于yarn模块解析的工作方式,仅仅执行yarn install -frozen-lockfile有时是不够的。您仍然可以保留无效的传递dep。

要真正获得与npm ci相同的行为,你必须做到:

rm -rf node_modules && yarn install --frozen-lockfile

我相信就是这么简单:

yarn install --frozen-lockfile