pnpm install
别名: i
pnpm install
用于安装项目的所有依赖项。
在 CI 环境中,如果存在 lockfile 但需要更新,安装将失败。
在 工作区 中,pnpm install
会安装所有项目中的所有依赖项。如果你想禁用此行为,将 recursive-install
设置设置为 false
。
TL;DR
命令 | 含义 |
---|---|
pnpm i --offline | 仅从仓库中离线安装 |
pnpm i --frozen-lockfile | pnpm-lock.yaml 不会更新 |
pnpm i --lockfile-only | 仅更新 pnpm-lock.yaml |
选项
--force
强制重新安装依赖项:重新获取仓库中修改的包,重新创建 lockfile 和/或由不兼容的 pnpm 版本创建的模块目录。安装所有可选依赖项,即使它们不满足当前环境(cpu、os、arch)。
--offline
- 默认值:false
- 类型:布尔值
如果为 true
,pnpm 将仅使用仓库中已有的包。如果本地找不到包,安装将失败。
--prefer-offline
- 默认值:false
- 类型:布尔值
如果为 true
,将绕过缓存数据的陈旧性检查,但会从服务器请求丢失的数据。要强制完全离线模式,请使用 --offline
。
--prod, -P
- 默认值
- 如果
NODE_ENV
为production
:true
- 如果
NODE_ENV
不 为production
:false
- 如果
- 类型:布尔值
如果设置,pnpm 将忽略 NODE_ENV
,而是使用此布尔值来确定环境。
如果为 true
,pnpm 不会安装 devDependencies
中列出的任何包,并将删除已安装的那些包。如果为 false
,pnpm 将安装 devDependencies
和 dependencies
中列出的所有包。
--dev, -D
仅安装 devDependencies
,并删除已安装的 dependencies
,无论 NODE_ENV
如何。
--no-optional
不会安装 optionalDependencies
。
--lockfile-only
- 默认值:false
- 类型:布尔值
使用时,仅更新 pnpm-lock.yaml
和 package.json
。不会写入 node_modules
目录。
--fix-lockfile
自动修复损坏的 lockfile 条目。
--frozen-lockfile
- 默认值
- 对于非 CI:false
- 对于 CI:true,如果存在 lockfile
- 类型:布尔值
如果为 true
,pnpm 不会生成 lockfile,如果 lockfile 与清单不同步/需要更新或不存在 lockfile,则安装失败。
此设置在 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 分支 lockfile。 详细了解 git 分支 lockfile。
--reporter=<name>
- 默认值
- 对于 TTY stdout:default
- 对于非 TTY stdout:append-only
- 类型:default、append-only、ndjson、silent
允许你选择将调试信息记录到终端的报告程序,以了解安装进度。
- silent - 不会将任何输出记录到控制台,甚至不会记录致命错误
- default - stdout 为 TTY 时的默认报告程序
- append-only - 输出始终附加到末尾。不会执行光标操作
- ndjson - 最详细的报告程序。以 ndjson 格式打印所有日志
如果你想更改打印的信息类型,请使用 loglevel 设置。
--use-store-server
- 默认值:false
- 类型:布尔值
在后台启动仓库服务器。仓库服务器将在安装完成后继续运行。要停止仓库服务器,请运行 pnpm server stop
--shamefully-hoist
- 默认值:false
- 类型:布尔值
创建扁平化的 node_modules
结构,类似于 npm
或 yarn
的结构。警告:强烈建议不要这样做。
--ignore-scripts
- 默认值:false
- 类型:布尔值
不要执行项目 package.json
及其依赖项中定义的任何脚本。
--filter <package_selector>
Filter 目前与 v8 默认配置不兼容,你必须隐式将 dedupe-peer-dependents 设置为 false
才能使其正常工作。有关更多信息和进度,请参阅 #6300
--resolution-only
重新运行解析:对于打印对等依赖项问题很有用。