Corepack 和 packageManager 字段怎样固定包管理器?
通过项目声明和工具版本统一 npm、pnpm 或 Yarn 的安装方式,减少本地与 CI 的差异。
参考答案
package.json 的 packageManager 可以声明项目期望的包管理器和版本,Corepack 能在支持的 Node 环境中准备对应工具。这样团队和 CI 不容易因为默认包管理器不同而生成不同锁文件。
它不是依赖锁文件,也不会自动保证 Node 版本、镜像源和安装参数一致。项目仍应固定 Node 版本、提交正确的 lockfile,并在 CI 中使用可审计的工具来源。
不同 Node 版本对 Corepack 的内置和启用方式可能变化。迁移前要检查官方版本说明和 CI 环境,避免在安装阶段依赖网络下载一个未审查的工具版本。