pnpm add 和 pnpm install 的区别?

文章目录

      • [1. pnpm add](#1. pnpm add)
      • [2. pnpm install](#2. pnpm install)
      • [3. 总结](#3. 总结)
      • 应用场景
      • 示例

在使用 pnpm 管理项目依赖时, pnpm addpnpm install 是两个常用的命令,但它们的功能和使用场景有所不同。以下是详细的解释:


1. pnpm add

功能 :用于向项目的 package.json 文件中添加新的依赖项,并安装这些依赖项。

特点

  • 添加依赖 :会将指定的包添加到 dependenciesdevDependenciesoptionalDependencies 中。
  • 自动安装 :不仅会更新 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.jsonpnpm-lock.yaml 安装所有必要的依赖项。

相关推荐
IT古董10 小时前
【前端】Headless UI 深度实战:构建可访问、可定制的现代前端组件
前端·ui
南囝coding10 小时前
Knip - 一键清理项目无用代码
前端·后端
五点六六六10 小时前
跨端RN 与 浏览器Web 的 长渲染性能 差异 与 底层 揭秘
前端·react native·webgl
咬人喵喵10 小时前
18 类年终总结核心 SVG 交互方案拆解
前端·css·编辑器·交互·svg
不想秃头的程序员11 小时前
JS继承方式详解
前端·面试
Mapmost11 小时前
【高斯泼溅】从“看清”到“看懂”,3DGS语义化让数字孪生“会说话”
前端
指尖跳动的光11 小时前
防止前端页面重复请求
前端·javascript
luquinn11 小时前
用canvas切图展示及标记在原图片中的位置
开发语言·前端·javascript
巧克力芋泥包11 小时前
前端vue3调取阿里的oss存储
前端
AAA阿giao11 小时前
React Hooks 详解:从 useState 到 useEffect,彻底掌握函数组件的“灵魂”
前端·javascript·react.js