跳到主内容
Version: 5.x

pnpm install

别名: i

pnpm install 用于安装项目所有依赖.

在CI环境中, 如果存在需要更新的 lockfile 会安装失败.

workspace内, pnpm install 下载项目所有依赖. 如果想禁用这个行为, 将 recursive-install 设置为 false.

摘要:

CommandMeaning
pnpm i --offline仅从 store 中离线下载
pnpm i --frozen-lockfilepnpm-lock.yaml is not updated
pnpm i --lockfile-onlyOnly pnpm-lock.yaml is updated

配置项

--offline

  • 默认值: false
  • 类型:Boolean

如果为 true, pnpm 会使用本地 store 中的可用包. 如果本地找不到包, 则会安装失败.

--prefer-offline

添加于: v1.28.0

  • 默认值: false
  • 类型:Boolean

如果为 true, 会绕过缓存数据的过期检查, 缺失数据会请求服务器. 想强制使用离线模式, 请使用 --offline.

--ignore-scripts

  • 默认值: false
  • 类型:Boolean

不执行任何项目中 package.json 和它的依赖项中定义的任何脚本.

note

This flag does not prevent the execution of pnpmfile.js

--prod, -P

如果 NODE_ENV环境变量被设置为 production 则 pnpm 不会下载 devDependencies 中的任何包. 使用这个指令 pnpm 会忽略NODE_ENV 并用该指令替代其生产状态.

--dev, -D

不管 NODE_ENV 的值, 只下载 devDependencies 依赖.

--no-optional

不安装 optionalDependencies 依赖

--lockfile-only

添加于: v1.26.0 (原名 shrinkwrap-only)

  • 默认值: false
  • 类型:Boolean

使用时, 仅更新 pnpm-lock.yamlpackage.json 不检查 node_modules 和下载依赖项.

--frozen-lockfile

Added in: v1.37.1 (原名 frozen-shrinkwrap)

  • 默认值:
    • 非 CI: false
    • CI: true, 如果存在 lock 文件
  • 类型:Boolean

如果设置 true, pnpm 不会生成 lockfile 且如果 lockfile 跟 manifest 不同步/ 文件需要更新或不存在 lockfile 则会安装失败.

--reporter=<name>

  • 默认值:
    • TTY stdout: default
    • 非 TTY stdout: append-only
  • 类型:default, append-only, ndjson, silent

允许您选择将调试信息记录到终端, 以了解安装进度.

  • silent - 除了致命 errors 否则不输出记录信息.
  • default - 标准为 TTY 的默认输出
  • append-only (添加于 v1.29.1) - 始终末尾追加输出. 没有光标操作
  • ndjson - 最详细报告. 打印所有ndjson 格式日志

--use-store-server

添加于: v1.30.0

  • 默认值: false
  • 类型:Boolean

后台开启 store server. 安装完成后, store server 会持续运行. 执行pnpm server stop来停止 store server.

--shamefully-hoist

  • 默认值: false
  • 类型:Boolean

创建一个扁平node_modules 目录结构, 类似于npmyarn. WARNING: 这是非常不推荐的.

--filter <package_selector>

阅读更多有关 filter 的内容。