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 |
过滤依赖项的选项
如果没有锁文件,pnpm 必须创建一个,并且无论依赖项 如何过滤,它都必须保持一致,因此在没有锁文件的目录上运行 pnpm install --prod
仍然会解析 dev 依赖 项,如果解析不成功,则会出错。 此规则的唯一例外是 link:
依赖项。
如果没有 --frozen-lockfile
,pnpm 将检查 file:
依赖项中的过时信息,因此在 file:
的目标已被删除的环境中,运行 pnpm install --prod
而不使用 --frozen-lockfile
会出现错误。
--prod, -P
- 默认值: false
- 类型:Boolean
如果 true
,pnpm 将不会安装 devDependencies
中列出的任何软件包,并将删除已安装的软件包。 如果 false
,pnpm 将安装 devDependencies
和 dependencies
中列出的所有软件包。
--dev, -D
仅安装 devDependencies
并且删除 dependencies
即使它们已经安装。
--no-optional
不安装 optionalDependencies
。
配置项
--force
强制重新安装依赖:重新获取存储中修改的软件包,重新创建由不兼容版本的 pnpm 创建的锁文件和(或)模块目录。 安装所有的可选依赖,即使它们不满足当前环境(cpu、os、arch)。
--offline
- 默认值: false
- 类型:Boolean
如果为 true
,pnpm 将仅使用存储中已有的包。 如果缓存中没有找不到这个包,那么就会安装失败。
--prefer-offline
- 默认值: false
- 类型:Boolean
如果为 true
,将跳过对缓存数据的过期检查,但会从服务器请求缺失的数据。 要强制完全离线模式,使用 --offline
。
--no-lockfile
不要读取或生成 pnpm-lock.yaml
文件。
--lockfile-only
- 默认值: false
- 类型:Boolean
使用时,只更新 pnpm-lock.yaml
和 package.json
。 不会向 node_modules
目录写入任何内容。