pnpm:基础使用

简介: pnpm:基础使用

一、概念

performant npm ,意味“高性能的 npm”。pnpm由npm/yarn衍生而来,解决了npm/yarn内部潜在的bug,极大的优化了性能,扩展了使用场景。被誉为“最先进的包管理工具”

二、特点

速度快、节约磁盘空间、支持单一代码库-monorepo、安全性高

pnpm 相比较于 yarn/npm 这两个常用的包管理工具在性能上也有了极大的提升,根据目前官方提供的 benchmark 数据可以看出在一些综合场景下比 npm/yarn 快了大概两倍。

三、存储管理

按内容寻址、采用symlink

四、依赖管理

npm1、npm2采用递归管理,npm3、npm3+、yarn依赖扁平化管理消除依赖提升。

pnpm依赖策略:消除依赖提升、规范拓扑结构

五、安全

之前在使用 npm/yarn 的时候,由于 node_module 的扁平结构,如果 A 依赖 B, B 依赖 C,那么 A 当中是可以直接使用 C 的,但问题是 A 当中并没有声明 C 这个依赖。因此会出现这种非法访问的情况。 但 pnpm 自创了一套依赖管理方式,很好地解决了这个问题,保证了安全性。

六、安装

npm i pnpm -g

七、查看版本信息

八、升级版本

pnpm add -g pnpm to update

九、设置源

pnpm config get registry //查看源

pnpm config set registry https://registry.npmmirror.com //切换淘宝源

十、安装项目依赖

pnpm install

十一、运行项目

pnpm run dev

十二、pnpm-workspace实现单一代码库

架构-单一代码库-monorepo-pnpm-workspace:基本使用_snow@li的博客-CSDN博客

十三、相关记录

13.1、出现类似包不能解析的问题

解决:

根目录创建 .npmrc 文件

shamefully-hoist = true

删除node_modules,再次执行pnpm install ,解决成功

有些包仅在根目录的node_modules时才有效,可以通过此配置,提升那些不在node_modules根目录的包。

或者执行:

pnpm i --shamefully-hoist

两种方法均测试成功。

相关文章
|
存储 缓存 资源调度
包管理npm、yarn、pnpm区别
包管理npm、yarn、pnpm区别
120 0
|
28天前
|
资源调度 JavaScript 前端开发
如何实现一个类似 vite 的脚手架并发布 npm
本文介绍了如何实现一个类似 Vite 的脚手架工具。通过详细解析和实践,文章分享了从零开始构建脚手架的过程,包括技术选型、开发步骤及发布 NPM 包的完整流程。最终目标是让用户能够通过 `yarn create electron-prokit myapp` 快速搭建 Electron 项目。项目源码可在 GitHub 上获取。
21 5
|
2月前
|
资源调度 前端开发 IDE
pnpm 多包管理项目
pnpm 多包管理项目
50 2
|
5月前
npm构建vite项目
npm构建vite项目
|
5月前
|
存储 缓存 资源调度
你真的知道 NPM、Yarn 与 PNPM 这三个前端包管理器之间的区别吗?
【6月更文挑战第9天】NPM、Yarn和PNPM是主流前端包管理器,各有特色。NPM生态庞大,易用但速度慢;Yarn速度快,依赖管理稳定;PNPM性能优异,节省磁盘空间。Yarn和PNPM在速度和确定性上胜出,NPM因广泛使用和丰富资源领先。开发者可根据项目需求和喜好选择,三者共同推动前端开发进步。
148 8
|
6月前
|
存储 资源调度 JavaScript
PNPM(高性能的npm)介绍
PNPM(高性能的npm)介绍
PNPM(高性能的npm)介绍
|
6月前
|
JavaScript 前端开发 开发工具
npm安装依赖实践总结
npm安装依赖实践总结
504 0
|
JavaScript
vue踩坑记-在项目中安装依赖模块npm install报错
vue踩坑记-在项目中安装依赖模块npm install报错
95 0
|
存储 资源调度 安全
你知道npm、yran、pnpm的区别吗?
你知道npm、yran、pnpm的区别吗?
87 0