当前位置: 首页 > article >正文

pnpm add和pnpm install指定包名安装的区别

1. pnpm add 包名

  • 行为
    • 安装包到 node_modules
    • 自动将包添加到 package.jsondependencies(默认)。
    • 支持通过参数指定依赖类型(如 -D 表示 devDependencies-O 表示 optionalDependencies)。
    • 更新 pnpm-lock.yaml 文件。
  • 使用场景
    • 明确要将包作为项目依赖持久化保存时。
    • 需要控制依赖类型(生产依赖、开发依赖等)。
  • 示例
    pnpm add axios         # 添加到生产依赖(dependencies)
    pnpm add typescript -D # 添加到开发依赖(devDependencies)
    

2. pnpm install 包名

  • 行为
    • 安装包到 node_modules
    • 默认不会修改 package.json(依赖不会被记录到项目中)。
    • 仅临时安装包,适合测试或一次性使用。
    • 若需要保存到 package.json,需手动添加 --save-D 等参数(但 pnpm 不推荐此用法,建议优先用 add)。
  • 使用场景
    • 临时安装包(例如快速测试某个包,但不确定是否需要长期依赖)。
    • 在已有依赖的基础上补充安装(但这种情况较少见)。
  • 示例
    pnpm install lodash   # 仅安装到 node_modules,不更新 package.json
    pnpm install lodash --save # 等效于 pnpm add lodash(但更推荐用 add)
    

关键区别总结

行为pnpm add 包名pnpm install 包名
安装到 node_modules
更新 package.json✅(默认)❌(除非手动加 --save
更新 pnpm-lock.yaml✅(仅记录版本)
支持指定依赖类型✅(如 -D, -O❌(需手动加参数)

如何选择?

  1. 大多数情况用 pnpm add
    当需要将包作为项目依赖持久化时,始终使用 pnpm add。它能明确表达“添加新依赖”的意图,并自动更新 package.json,避免遗漏依赖记录。

  2. 极少数情况用 pnpm install
    仅当需要临时安装包且明确不希望修改 package.json 时使用(例如测试某个包的兼容性)。但这种情况较为少见,且容易导致团队协作时的依赖缺失问题。


总结

  • 使用 pnpm add:添加新依赖,持久化到项目中。
  • 使用 pnpm install:仅安装现有依赖或临时测试包。

始终优先选择 pnpm add,除非你明确知道不需要记录依赖!


http://www.kler.cn/a/573345.html

相关文章:

  • 使用Python和Transformer模型进行土壤水热模拟与预测的详细步骤和示例代码
  • fastjson1.2.24 CVE-2017-18349 漏洞复现
  • 前端基础之组件
  • Flutter系列教程之(9)——Flutter调用Android原生
  • 深入理解 React.js:构建现代 Web 应用的核心技术
  • 图解MOE大模型的7个核心问题并探讨DeepSeekMoE的专家机制创新
  • 如何计算卷积神经网络每一层的参数数量和特征图大小?
  • 算法学习新姿势:从0开始用hello-algo搭建自己的在线学习平台
  • 2024年ide系列激活_(持续更新)
  • Java多线程与高并发专题——ConcurrentHashMap 在 Java7 和 8 有何不同?
  • 物联网 智慧园区井盖管理办法和功能介绍
  • Python的那些事第四十篇:Redis的Python客户端Redis-py
  • 【EB-07】TC397 Tresos 导入通信ARXML
  • linux上redis升级
  • 【Java项目】基于SpringBoot的CSGO赛事管理系统
  • AMS分析笔记
  • k倍区间(蓝桥杯 )
  • 【AGI】智谱开源2025:一场AI技术民主化的革命正在到来
  • < 自用文儿 > DELETED 设置速读 in Ubuntu24
  • 游戏引擎学习第132天