一文带你了解PNPM以及 npm,yarn,pnpm区别

简介: 一文带你了解PNPM以及 npm,yarn,pnpm区别

https://pnpm.io/

什么是Pnpm ?

pnpm - 速度快、节省磁盘空间的软件包管理器

全局安装

npm install -g pnpm

或使用 yarn

yarn global add pnpm

这将在全局范围内安装 pnpm

在项目中初始化 pnpm

pnpm init

这会在当前目录下生成 package.json 文件,类似于 npm inityarn init

安装项目依赖项:

pnpm install

这将安装项目的依赖项,类似于 npm installyarn install

全局安装依赖项:

pnpm install -g package-name

或使用 yarn

yarn global add package-name

运行脚本:

pnpm run script-name

这将运行项目中的脚本,类似于 npm run script-nameyarn run script-name

查看安装的包:

pnpm list

这将显示项目中安装的所有包。

卸载包:

pnpm uninstall package-name

Pnpm & yarn & npm 对比

1. 磁盘占用空间少

pnpm 使用硬链接和符号链接来共享依赖项,而不是像 npmyarn 一样在每个项目中复制一份。这减少了磁盘空间的占用,因为相同的依赖项可以被多个项目共享

2. 安装依赖速度快

由于采用硬链接和符号链接,pnpm 在安装依赖项时通常比 npmyarn 更快,特别是在有多个项目共享相同依赖项时。

3. 确保依赖一致性

pnpm 在安装依赖项时采用原子操作的方式,确保安装操作是原子的,要么全部成功,要么全部失败。这有助于确保依赖项的一致性。

4. 单一存储

pnpm 有一个单一的全局存储目录,避免了 npm 的多版本全局安装带来的问题

5. 支持多引擎  [npm,yarn,pnpm 可以互相切换]

pnpm 可以与 npmyarn 共存,这使得迁移到 pnpm 不需要修改项目文件。

三者对比

Feature

pnpm

Yarn

npm

Workspace support

✔️

✔️

✔️

Isolated node_modules

✔️ - The default

✔️

✔️

Hoisted node_modules

✔️

✔️

✔️ - The default

Autoinstalling peers

✔️

✔️

Plug'n'Play

✔️

✔️ - The default

Zero-Installs

✔️

Patching dependencies

✔️

✔️

Managing Node.js versions

✔️

Has a lockfile

✔️ - pnpm-lock.yaml

✔️ - yarn.lock

✔️ - package-lock.json

Overrides support

✔️

✔️ - Via resolutions

✔️

Content-addressable storage

✔️

Dynamic package execution

✔️ - Via pnpm dlx

✔️ - Via yarn dlx

✔️ - Via npx

Side-effects cache

✔️

Listing licenses

✔️ - Via pnpm licenses list

✔️ - Via a plugin

相关文章
|
3月前
|
Linux 内存技术
使用npm install -g pnpm的时候报错
使用npm install -g pnpm的时候报错
434 139
|
存储 资源调度 JavaScript
npm、cnpm 和 pnpm 是三种常用的 Node.js 包管理工具
npm、cnpm 和 pnpm 是三种常用的 Node.js 包管理工具。npm 是官方默认的包管理器,提供依赖管理、安装和更新等功能;cnpm 是由阿里巴巴开发的 npm 镜像,专为中国大陆用户优化,解决下载速度慢的问题;pnpm 通过硬链接技术提高安装速度并节省磁盘空间,特别适合磁盘资源紧张的环境。三者命令类似,但各有特色,开发者可根据需求选择合适的工具。
1290 5
|
分布式计算 资源调度 Hadoop
Spark Standalone与YARN的区别?
本文详细解析了 Apache Spark 的两种常见部署模式:Standalone 和 YARN。Standalone 模式自带轻量级集群管理服务,适合小规模集群;YARN 模式与 Hadoop 生态系统集成,适合大规模生产环境。文章通过示例代码展示了如何在两种模式下运行 Spark 应用程序,并总结了两者的优缺点,帮助读者根据需求选择合适的部署模式。
626 3
|
分布式计算 资源调度 Hadoop
Spark Standalone与YARN的区别?
【10月更文挑战第5天】随着大数据处理需求的增长,Apache Spark 成为了广泛采用的大数据处理框架。本文详细解析了 Spark Standalone 与 YARN 两种常见部署模式的区别,并通过示例代码展示了如何在不同模式下运行 Spark 应用程序。Standalone 模式自带轻量级集群管理,适合小规模集群或独立部署;YARN 则作为外部资源管理器,能够与 Hadoop 生态系统中的其他应用共享资源,更适合大规模生产环境。文章对比了两者的资源管理、部署灵活性、扩展性和集成能力,帮助读者根据需求选择合适的部署模式。
292 1
|
资源调度 前端开发 JavaScript
谈后端人眼里的 nvm、yarn、pnpm……
虽然我是做后端的,但也时常关注前端,只是最近觉得前端的各种工具名称太眼花缭乱了,nvm、yarn、pnpm、taro……
200 4
|
缓存 资源调度 JavaScript
npx与npm的差异解析,以及包管理器yarn与Node版本管理工具nvm的使用方法详解
npx与npm的差异解析,以及包管理器yarn与Node版本管理工具nvm的使用方法详解
1235 0
|
资源调度 分布式计算 安全
YARN的FIFO调度器和Capacity Scheduler调度器在资源分配上有何区别?
【6月更文挑战第20天】YARN的FIFO调度器和Capacity Scheduler调度器在资源分配上有何区别?
233 11
|
存储 缓存 资源调度
npm、yarn与pnpm详解
npm、yarn与pnpm详解
488 0
|
缓存 资源调度 JavaScript
npm与yarn怎么选
之前有同事说 npm 速度太慢了,项目部署也偶尔会发生依赖无法下载导致构建失败的问题,所以再次查阅学习了下包管理器的选型问题
543 0
|
JavaScript
node环境之Error: Cannot find module ‘chalk’ 报错无法解决的问题—-网上说让你npm install chalk 基本是没有用的-优雅草央千澈解决方案
node环境之Error: Cannot find module ‘chalk’ 报错无法解决的问题—-网上说让你npm install chalk 基本是没有用的-优雅草央千澈解决方案
923 13
node环境之Error: Cannot find module ‘chalk’ 报错无法解决的问题—-网上说让你npm install chalk 基本是没有用的-优雅草央千澈解决方案

推荐镜像

更多
  • NPM