pnpm install
别名: i
pnpm install
用于安装项目所有依赖.
在CI环境中, 如果存在需要更新的 lockfile 会安装失败.
在 workspace内, pnpm install
下载项目所有依赖. 如果想禁用这个行为, 将 recursive-install
设置为 false
.
摘要:
Command | Meaning |
---|---|
pnpm i --offline | 仅从 store 中离线下载 |
pnpm i --frozen-lockfile | 不更新 pnpm-lock.yaml |
pnpm i --lockfile-only | 只更新 pnpm-lock.yaml |
配置项
--force
强制重新安装依赖:重新获取并修改缓存中的包,由不兼容版本的 pnpm重新创建的lock文件和(或)模块目录。 安装所有 optionalDependencies,即使它们不满足当前环境(cpu、os、arch)。
--offline
- 默认值: false
- 类型:Boolean
为 true
时,pnpm会仅使用已经在缓存中的包。 如果缓存中没有找不到这个包,那么就会安装失败。
--prefer-offline
- 默认值: false
- 类型:Boolean
如果为 true,缺失的数据将会从服务器获取,并绕过缓存数据的过期检查。 想强制使用离线模式, 请使用 --offline
.
--prod, -P
如果环境变量中NODE_ENV
被设置为 production,那么pnpm 不会安装任何属于 devDependencies
的包,如果有相关的包已经被安装了,则会清除这些包。 使用这个指令pnpm会忽略NODE_ENV
,强制pnpm以production的方式执行install命令。
--dev, -D
仅安装devDependencies
并删除已安装的dependencies
,无论 NODE_ENV
是什么。
--no-optional
不安装 optionalDependencies
依赖
--lockfile-only
- 默认值: false
- 类型:Boolean
使用时,只更新 pnpm-lock.yaml
和 package.json
。 不写入 node_modules
目录。
--fix-lockfile
自动修复损坏的 lock 文件入口。
--frozen-lockfile
- 默认值:
- 非 CI: false
- CI: true, 如果存在 lock 文件
- 类型:Boolean
如果设置 true
, pnpm 不会生成 lockfile 且如果 lockfile 跟 manifest 不同步/ 文件需要更新或不存在 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 分支上的 lockfiles。 阅读有关 git 分支 lockfiles 的更多信息。
--reporter=<name>
- 默认值:
- TTY stdout: default
- 非 TTY stdout: append-only
- 类型:default, append-only, ndjson, silent
允许您选择向终端输出安装进度的试信息的报告程序。
- silent - 不会向控制台记录任何信息,也不包含致命错误
- default - 标准为 TTY 的默认输出
- append-only - 始终向末尾追加输出。 没有光标操作
- ndjson - 最详细报告. 打印所有ndjson 格式日志
如果要更改打印信息的类型,请使用 loglevel 设置。
--use-store-server
- 默认值: false
- 类型:Boolean
在后台启动 store server. store server 会在安装完成后持续运行. 如果要停止 store server,请运行 pnpm server stop
--shamefully-hoist
- 默认值: false
- 类型:Boolean
创建一个扁平node_modules
目录结构,类似于npm
或 yarn
。 警告:这是非常不推荐的。
--ignore-scripts
- 默认值: false
- 类型:Boolean
不执行项目的 package.json
及其依赖定义的任何脚本。
--filter <package_selector>
Filter currently does not work properly with v8 default config, you have to implicitly set dedupe-peer-dependents to false
to have that work. For more info and progress please refer to #6300
--resolution-only
添加于:v8.3.0
重新进行解析:对于打印出peer dependency 问题很有用。