文章目录
在使用 pnpm 管理项目依赖时, pnpm add 和 pnpm install 是两个常用的命令,但它们的功能和使用场景有所不同。以下是详细的解释:
1. pnpm add
功能 :用于向项目的 package.json 文件中添加新的依赖项,并安装这些依赖项。
特点:
- 添加依赖 :会将指定的包添加到
dependencies、devDependencies或optionalDependencies中。 - 自动安装 :不仅会更新
package.json,还会立即安装新添加的依赖项。 - 灵活性 :可以通过参数指定依赖项的类型(如
--save-dev添加到devDependencies)。
常用选项:
--save-dev或-D:将包添加到devDependencies。--save-peer或-P:将包添加到peerDependencies。--save-optional或-O:将包添加到optionalDependencies。--save-exact或-E:保存精确版本号。
示例:
bash
# 添加一个新的生产依赖项
pnpm add react react-dom
# 添加一个新的开发依赖项
pnpm add --save-dev @types/react @types/react-dom
# 添加并保存精确版本号
pnpm add --save-exact lodash
2. pnpm install
功能 :根据 package.json 文件中的依赖项列表安装所有依赖项。
特点:
- 安装现有依赖 :不会修改
package.json,只是根据已有的依赖项列表安装所需的包。 - 适用于多种场景 :常用于克隆仓库后首次安装依赖,或者在更改了
package.json后重新安装所有依赖项。 - 处理锁文件 :会根据
pnpm-lock.yaml文件确保安装的依赖项版本一致。
示例:
bash
# 安装所有依赖项
pnpm install
# 安装特定版本的依赖项(如果需要)
pnpm install react@18.3.1 react-dom@18.3.1
3. 总结
pnpm add:用于添加新的依赖项并安装它们,同时更新package.json。pnpm install:仅用于安装package.json中已列出的依赖项,不会修改package.json。
应用场景
- 开发过程中添加新依赖 :使用
pnpm add来添加新的库或工具,并确保它们被记录在package.json中。 - 初始设置或更新依赖 :使用
pnpm install来安装所有现有的依赖项,特别是在克隆仓库或更新package.json后。
示例
假设你想要添加一个新的开发依赖项 typescript,你可以使用以下命令:
bash
pnpm add --save-dev typescript
这将更新 package.json 并安装该插件。
如果你只是想确保所有现有依赖项都已正确安装,可以运行:
bash
pnpm install
这将根据 package.json 和 pnpm-lock.yaml 安装所有必要的依赖项。