pnpm install
别名: i
pnpm install
用于安装项目所有依赖.
在 CI 环境中, 如果存在锁文件但需要更新,那么安装会失败.
在工作空间内, pnpm install
会在所有项目中安装所有依赖. 如果想禁用这个行为, 将 recursive-install
设置为 false
。
摘要
命令 | 含义 |
---|---|
pnpm i --offline | 仅从存储中离线安装 |
pnpm i --frozen-lockfile | 不更新 pnpm-lock.yaml |
pnpm i --lockfile-only | 只更新 pnpm-lock.yaml |
配置项
--force
强制重新安装依赖:重新获取存储中修改的软件包,重新创建由不兼容版本的 pnpm 创建的锁文件和(或)模块目录。 安装所有的可选依赖,即使它们不满足当前环境(cpu、os、arch)。
--offline
- 默认值: false
- 类型:Boolean
如果为 true
,pnpm 将仅使用存储中已有的包。 如果缓存中没有找不到这个包,那么就会安装失败。
--prefer-offline
- 默认值: false
- 类型:Boolean
如果为 true
,则会绕过缓存数据的过期性检查,但缺失的数据将从服务器请求。 要强制使用离线模式,使用 --offline
。
--prod, -P
- 默认值:
- 如果
NODE_ENV
是production
:true
- 如果
NODE_ENV
不是production
:false
- 如果
- 类型:Boolean
如果被设置,pnpm 将忽略 NODE_ENV
并使用此布尔值来确定环境。
如果 true
,pnpm 将不会安装 devDependencies
中列出的任何软件包,并将删除已安装的软件包。 如果 false
,pnpm 将安装 devDependencies
和 dependencies
中列出的所有软件包。
--dev, -D
仅安装 devDependencies
并删除已安装的dependencies
,无论 NODE_ENV
是什么。
--no-optional
不安装 optionalDependencies
。
--lockfile-only
- 默认值: false
- 类型:Boolean
使用时,只更新 pnpm-lock.yaml
和 package.json
。 不写入 node_modules
目录。
--fix-lockfile
自动修复损坏的锁文件入口。
--frozen-lockfile
- 默认值:
- 非 CI: false
- CI: 如果存在锁文件,则为 true
- 类型:Boolean
如果设置为 true
, pnpm 不会生成锁文件,且如果锁文件跟清单文件不同步、锁文件需要更新或不存在锁文件,则会安装失败。
在 CI 环境中,该设置默认为 true
。 以下代码用于 检测 CI 环境:
exports.isCI = !!(
env.CI || // Travis CI, CircleCI, Cirrus CI, GitLab CI, Appveyor, CodeShip, dsari
env.CONTINUOUS_INTEGRATION || // Travis CI, Cirrus CI
env.BUILD_NUMBER || // Jenkins, TeamCity
env.RUN_ID || // TaskCluster, dsari
exports.name ||
false
)
--merge-git-branch-lockfiles
合并所有 Git 分支上的锁文件。 阅读有关 Git 分支锁文件的更多信息。
--reporter=<name>
- 默认值:
- TTY stdout: default
- 非 TTY stdout: append-only
- 类型:default, append-only, ndjson, silent
允许你选择向终端输出有关安装进度的调试信息的报告程序。
- silent - 不会向控制台记录任何信息,甚至不包含致命错误
- default - 标准输出是 TTY 时的默认报告程序
- append-only - 始终向末尾追加输出。 不执行任何光标操作
- ndjson - 最详细报告. 以 ndjson 格式打印所有日志
如果要更改打印信息的类型,请使用 loglevel 设置。