一般看项目用哪个包管理器:
- 有
package-lock.json:用npm install - 有
pnpm-lock.yaml:用pnpm install - 有
yarn.lock:用yarn install
对你这个 Postiz 项目,优先看根目录有没有pnpm-lock.yaml或package-lock.json。不要混用,比如项目本来是 pnpm,你又跑npm install,会生成package-lock.json,可能导致依赖版本、node_modules 结构和 CI 不一致。
简单区别:
npm install:
- Node 自带 npm,最通用
- 适合普通项目、没有特别声明用 pnpm 的项目
- 依赖会比较传统地安装到
node_modules
pnpm install:
- 更快、更省磁盘
- 对 monorepo/workspace 支持很好
- 依赖隔离更严格,能暴露一些“项目没正确声明依赖”的问题
- 如果项目有
pnpm-workspace.yaml或pnpm-lock.yaml,基本就该用它
实用判断:
# 第一次进项目 ls看到pnpm-lock.yaml就:
pnpm install看到package-lock.json就:
npm install如果两个 lock 文件都存在,要小心,最好看package.json里的packageManager字段,以它为准。