工具与效率已解决
npm install、npm ci 和 pnpm install 应该怎么选?
根据 lockfile 选择 npm 或 pnpm,并理解常规安装与严格可复现安装的差异。
问题正文
教程里有时写 npm install,有时写 npm ci,项目里又有 pnpm-lock.yaml。
这些命令有什么区别,应该根据什么选择?
根据 lockfile 选择 npm 或 pnpm,并理解常规安装与严格可复现安装的差异。
问题正文
教程里有时写 npm install,有时写 npm ci,项目里又有 pnpm-lock.yaml。
这些命令有什么区别,应该根据什么选择?
ANSWERS
回答内容
先看项目根目录的锁文件:package-lock.json 通常对应 npm,pnpm-lock.yaml 对应 pnpm。npm ci 会严格按已有 package-lock 干净复现,适合 CI 和排错。
识别仓库里唯一的 lockfile。
本地常规开发使用项目约定的 install 命令。
需要精确复现时使用 npm ci 或 pnpm 的冻结 lockfile 模式。
依赖变化后提交正确的 lockfile 并跑测试。
# package-lock.json
npm install
npm ci
# pnpm-lock.yaml
pnpm install同一项目不要混用多个包管理器并提交多份 lockfile。
不要随手删除 lockfile;它负责让团队和 CI 安装到一致版本。
npm Docs:npm install:https://docs.npmjs.com/cli/v11/commands/npm-install
npm Docs:npm ci:https://docs.npmjs.com/cli/v11/commands/npm-ci
pnpm Docs:Installation:https://pnpm.io/installation