一、前言
相信大家一定也非常的苦恼过,npm下包又慢又天天无缘无故满屏红字,明明指令正确,步骤正确,却总是莫名其妙无缘无故报一大堆错,yarn或许会好一点,不过也总是有那种情况出现。在这里我给大家推荐一个好东西,pnpm,用这个下包就像坐上了火箭,简直不要太爽(都2024年了,我不允许你还没用上npmn)
二、与传统的npm的区别
- 安装速度和效率:
pnpm
采用了一种基于内容寻址的存储方式,大大节省了磁盘空间,并且安装依赖的速度通常比npm
更快。
- 依赖管理方式:
npm
会在每个项目的node_modules
目录中重复安装依赖,可能导致磁盘空间的浪费。pnpm
则创建一个全局的存储仓库,多个项目可以共享相同版本的依赖,减少了重复安装。
- 处理依赖的确定性:
pnpm
能更好地保证在不同的环境中安装的依赖具有确定性,减少了由于依赖版本不一致导致的问题。
- 硬链接和符号链接:
pnpm
使用硬链接和符号链接来处理依赖,提高了磁盘空间的利用率。
总的来说,pnpm
在磁盘空间利用和安装效率方面具有一定优势,但 npm
作为老牌的包管理工具,具有更广泛的社区支持和熟悉度。然而,对于新的项目或者对性能和磁盘空间有较高要求的场景,pnpm
是一个非常不错的选择。最终是否选择 pnpm
替代 npm
取决于具体的项目需求、团队技术栈和开发者的偏好。
三、全局安装pnpm
用npm或者yarn全局安装pnpm
yarn:yarn global add pnpm
npm:npm install -g pnpm
三、pnpm 切换镜像源
1. 查看当前镜像源
```
pnpm config get registry
```
2. 设置为镜像源
```
pnpm config set registry https://registry.npmmirror.com
```
3. 切回原镜像源
```
pnpm config set registry https://registry.npmjs.org
四、坐上火箭下包速度快到飞起
只要网络连接不断,不算太差,连安装一整个vue项目的依赖只需要不到5秒!