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

包管理器分析

包管理器

对于前端开发而言,包管理是其中非常重要的一环。

npm

npm作为node包管理器,是nodejs官方的包管理工具。尽管它解决的代码共享的问题,在那个年代是极为特殊的思想,但是它依旧有很多的问题存在。而其他几个包管理工具,或多或少都解决了这些问题。
安装慢、node_modules 过大、依赖库版本锁定不一致 等等的问题。

yarn

yarn的出现纯粹是为了解决npm的这些问题。
在那个 npm install 慢、依赖版本时常出错的年代,Yarn 就像是完成了一次大的技术升级,把整个包管理的流程都做了优化。

  • yarn.lock 文件:引入了自己的锁文件(区别于 npm 的 package-lock.json),更早解决了依赖版本不一致的问题
  • 更快的安装体验:Yarn 通过缓存机制和并行安装方式,大大提升了安装速度。装过一次的包,下次无需重新拉。
  • 离线安装:这是一个非常实用的特性,即使断网,你也可以依赖缓存离线安装项目,适合对网络依赖敏感的开发场景。
  • 原子化安装:安装失败会自动回滚,防止项目进入“半安装”状态。

pnpm

pnpm 的初衷是解决占用磁盘空间过大问题。
pnpm 通过一种“硬链接 + 内容寻址”的存储方式,将所有依赖包统一下载到全局缓存中(.pnpm-store),每个项目的 node_modules 并不真的“安装”包,而是使用软链接指向缓存中的真实文件,同一个包只会下载、存储一份,再多个项目共用。
这样就带来了巨多好处,比如:下载速度飞快,空间占用大幅度下降,并且还可以完美兼容现有生态(保留 node_modules)。
并且,针对 Monorepo 架构,pnpm 也提供了非常好的支持(应该可以说是支持最好的包管理器了)

cnpm

cnpm 是淘宝团队基于 npm 封装的包管理工具,cnpm 默认使用淘宝镜像,速度比 npm 快很多。但是在我看来,cnpm有许多的问题,我不建议大家使用。

常用命令

功能NPM 命令Yarn 命令PNPM 命令
安装依赖npm installyarn installpnpm install
安装特定包npm installyarn addpnpm add
移除包npm uninstallyarn removepnpm remove
更新包npm updateyarn upgradepnpm update
初始化项目npm inityarn initpnpm init
http://www.dtcms.com/a/391142.html

相关文章:

  • XC7K325T-2FBG676I Xilinx AMD Kintex-7 FPGA
  • FPGA入门-红外遥控
  • qml实现多页面切换显示的导航栏
  • 20250919的学习笔记
  • iOS 26 游戏测试实战,兼容性、帧率、GPU 性能与 Liquid Glass 动效在游戏中的影响(游戏开发与 uni-app 场景指南)
  • kind部署K8S集群并将“修仙业务“部署到kind集群
  • 《C++程序设计》笔记p2
  • 第1章:项目前言
  • 实现类似word 文档下划线输入功能
  • AR技术赋能高风险作业:重塑安全与效率
  • Axure-图片旋转人机验证
  • web:ts中class、interface、type的区别
  • css中的vm和vh,页面滚动的卡片网页
  • git cherry pick怎么用
  • 40岁从智驾转具身智能之路
  • 串口连接失败排坑步骤
  • QML学习笔记(三)QML基础语法其一:Rectangle及帮助文档的使用
  • 工业相机与镜头靶面尺寸的关系:从原理到选型的避坑指南
  • javaweb tomcat的使用
  • AI 赋能 APP 界面设计公司:从美学到交互的智能升级
  • Java 中的 static:从动机到内存模型、并发与最佳实践
  • 【数据结构与算法(C语言版)】从 0 实现 线性表之顺序表(代码实现增删查功能全解析)
  • MethodSignature signature = (MethodSignature) joinPoint.getSignature()
  • CN2香港服务器是否适合SEO优化?
  • 查看电脑IP地址、修改IP操作,查询本地网络使用的公网IP,判断路由器是否有公网IP,内网IP又怎么让外网上访问
  • 合成孔径雷达干涉测量InSAR:从星载与地基系统原理到多领域应用实战,涵盖数据处理、地形三维重建、形变监测与案例解析
  • Activity 之间跳转时,生命周期的变化
  • SortableItem拖拽组件里的Popconfirm失效
  • [吾爱原创] 图片尺寸调整-支持批量、多格式、缩小、放大、保留元数据、无损质量、最小体积、预览
  • 【C语言】C 语言文件操作全解析:从基础到进阶