NPM 即将被 Node.js 官方抛弃
突然发现在 Node.js 16.9.0 的官方文档里面,多了个 Experimental 的 Corepack :
看完一脸懵逼:这是啥?要干掉 NPM?为啥这么突然?
于是进一步翻了仓库和对应的讨论:
**简单来说,Corepack 会成为 Node.js 官方的内置 CLI,用来管理『包管理工具(npm、yarn、pnpm、cnpm)』,用户无需手动安装,即『包管理器的管理器』。 **
先安装 Node.16.9.0 版本,然后在 package.json 中声明对应的包管理工具:
玩起来:
我嚓,没全局安装 yarn 也能找到命令,怎么搞的?分析了下,非常粗暴。。。
其他用法:
小结: 对于大部分开发者来说,基本上无感,原来怎么用还怎么用,只是无需特意全局安装对应的包管理器了。
为什么要做这个?
简单的说,发起者认为,npm 目前是唯一的包管理工具,导致广大开发者喜爱的 pnpm、yarn 等工具成为二等公民,伤害到用户体验以及社区的良性发展。 早在 2017 年就发起的 讨论 ,在 最近的 TSC 表决 中通过。
虽然发起者 arcanis 利益相关,是 yarn 的 Lead Maintainer,但只想给他点个赞,并对 npm 说:你也有今天!
npm 这个阿斗,在 Node.js 起步时起了很大的作用,但它毕竟是个商业公司,而且这么多年来,一直不思进取:
我们一次一次的重燃希望又一次一次的失望,这废宅只会躺平,三天打鱼两天晒网,直到今天,Node.js 官方决定把他赶出门磨练下。
PS:需注意的是,这次动的只是 Node.js 安装包的 CLI,而包管理服务(即 npm registry)是没有变化的,大家平时用 yarn 和 pnpm 也是连的 npm registry 或者 cnpm registry 这个国内同步源。
2023-07-25 广告