新的node包管理工具pnpm,如何安装使用?
发布于 作者:苏南大叔 来源:程序如此灵动~ 我们相信:世界是美好的,你是我也是。平行空间的世界里面,不同版本的生活也在继续...
node
的包管理器,又又又出现一个新的成员,叫做pnpm
。而且这款新的pnpm
还很心气儿足,不与原来的老前辈为伍。那么,本文里面就简要的了解一下这个“快速的,节省磁盘空间的包管理工具pNPm”。
苏南大叔的程序如此灵动博客,记录苏南大叔和计算机代码的故事。测试环境:win10
,pnpm@
,node@16.14.2
。
有什么先进之处
官方网站:
据说先进之处在于,可以大幅度节省磁盘空间。下面的是官网的原话,大家自己体会一下:
使用 npm 时,依赖每次被不同的项目使用,都会重复安装一次。而在使用 pnpm 时,依赖会被存储在内容可寻址的存储中,所以:
如果你用到了某依赖项的不同版本,只会将不同版本间有差异的文件添加到仓库。 例如,如果某个包有100个文件,而它的新版本只改变了其中1个文件。那么 pnpm update 时只会向存储中心额外添加1个新文件,而不会因为仅仅一个文件的改变复制整新版本包的内容。
所有文件都会存储在硬盘上的某一位置。 当软件包被被安装时,包里的文件会硬链接到这一位置,而不会占用额外的磁盘空间。> > 这允许你跨项目地共享同一版本的依赖。
因此,您在磁盘上节省了大量空间,这与项目和依赖项的数量成正比,并且安装速度要快得多!
如何安装
通过npm
全局安装pnpm
,是最好的选择。(安装完毕,请重启命令行生效)
npm i pnpm -g
当然,鉴于pnpm
是来踢场子,替代npm
的。所以,官方也提供了其他的安装渠道,有需要的可以自己去查看:
命令对比
就和最常用的npm
做个命令对比吧。
npm 命令 | pnpm 等效 |
---|---|
npm install | pnpm install |
npm i <pkg> | pnpm add <pkg> |
npm run <cmd> | pnpm <cmd> |
苏南大叔推断,pnpm install
的包都是全局的,否则也谈不上“节省空间”的说法了。是不是全局的,官网也没说,大家自行体会吧。
目前,node
的包管理器,一共有以下几种:
- 官方出品的
npm
(安装几年前的package.json
程序(安装老版本依赖)的时候,经常出错)。 - 国人出品的
cnpm
(据说可以解决速度慢的问题,偶尔使用)。 - 备受推崇的
yarn
(npm
安装识别出错的话,就试试yarn
吧。好用,推荐!)。 - 本文描述的
pnpm
(据说可以大大节省磁盘空间)。
数据存在哪里
pnpm i
的界面上有提示,安装位置是:
C:\Users\sunan\AppData\Local\pnpm\store\v3
注意是默认安装在了用户目录下面的AppData
目录下面,好像npm
的全局包也在这边。这个路径还可以通过下面的命令【管理员模式】获得:
pnpm store path
非管理员模式下,会得到一个错误的路径...
项目下还存在node_modules
项目文件夹下面还是存在着那个很莫名的node_modules
文件夹,只不过里面看上去有很多的快捷方式。相比较npm i
的结果,确实体积小了一点?【保持疑问】
这里有个命令,据说可以净化没有用到的文件。
pnpm store prune
结束语
每一个新的包管理工具出来的时候,大家都会一窝蜂跟风,最后还是老老实实的回归npm
。不知道这个新的pnpm
的生命力会有多久。
如果本文对您有帮助,或者节约了您的时间,欢迎打赏瓶饮料,建立下友谊关系。
本博客不欢迎:各种镜像采集行为。请尊重原创文章内容,转载请保留作者链接。
本博客不欢迎:各种镜像采集行为。请尊重原创文章内容,转载请保留作者链接。