pnpm介绍

介绍

官网

https://pnpm.io/

节约磁盘空间

在使用npm时,如果你有100个项目使用了一个依赖项,那么你将在磁盘上保存该依赖项的100份副本。而使用pnpm时,依赖项将被存储在一个内容可寻址的存储库中,因此:

  • 如果你依赖于不同版本的依赖项,只有不同的文件会被添加到存储库中。例如,如果它有100个文件,而新版本只有一个文件发生了更改,pnpm更新只会将1个新文件添加到存储库中,而不是为了单个更改而克隆整个依赖项。
  • 所有文件都保存在磁盘上的一个地方。当安装包时,它们的文件会从那个地方硬链接过来,不消耗额外的磁盘空间。这使得你可以在不同项目之间共享相同版本的依赖项。
    因此,根据项目和依赖项的数量,你会在磁盘上节省大量空间,并且安装速度会快很多!

提高安装速度

pnpm 的安装过程分为三个阶段:

  • 依赖解析:识别并获取所有需要的依赖项到存储库中。
  • 目录结构计算:基于这些依赖项,计算 node_modules 的目录结构。
  • 链接依赖项:从存储库中获取所有剩余的依赖项,并通过硬链接的方式将它们链接到 node_modules 中。

这种方法比传统的三阶段安装过程(解析、获取并将所有依赖项写入 node_modules)要快得多。

创建一个非扁平化的 node_modules 目录结构

在使用 npm 或 Yarn Classic 安装依赖项时,所有包都会被提升到模块目录的根目录下。因此,源代码可以访问那些未被添加为项目依赖的依赖项。

默认情况下,pnpm 使用符号链接仅将项目的直接依赖项添加到模块目录的根目录中。

安装pnpm

https://pnpm.io/installation

安装方式有很多,我使用npm安装。运行命令npm install -g pnpm
在这里插入图片描述

运行pnpm --version查看版本号:
在这里插入图片描述

配置pnpm

pnpm全局配置文件

https://pnpm.io/cli/config

pnpm 配置文件是INI格式的。

对于windows系统, pnpm全局配置文件在如下目录下面:

~/AppData/Local/pnpm/config/rc

例如我的在如下目录:
在这里插入图片描述

备注:开始没有这个文件,执行配置命令,写入一条配置,这个文件就自动生成了。例如我执行

pnpm config set store-dir D:\pnpm_store\store

然后就自动生成了这个文件

配置

执行命令pnpm config set store-dir <new_path>,例如pnpm config set store-dir D:\pnpm_store\store
在这里插入图片描述

除了使用配置命令以外,还可以打开rc文件,直接修改:

# 基本目录,可执行文件目录
global-bin-dir=D:\pnpm_store
# 全局包目录
global-dir=D:\pnpm_store\global
# 缓存目录
cache-dir=D:\pnpm_store\cache
# 状态文件目录
state-dir=D:\pnpm_store\state
# 依赖包文件目录
store-dir=D:\pnpm_store\store

使用示例

pnpm init

创建一个package.json文件,例如:
在这里插入图片描述

生成的package.json文件:
在这里插入图片描述

pnpm add <pkg>

安装一个包及其所有依赖的包。默认情况下,任何新包都作为生产依赖项安装。

https://pnpm.io/cli/add
在这里插入图片描述

例如,执行pnpm add jquery
在这里插入图片描述

安装完成后,自动更新了package.json文件:
在这里插入图片描述

pnpm install

别名:i
pnpm install 用于为项目安装所有依赖项。

例如:
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

pnpm list

别名:ls

此命令将以树状结构输出所有已安装包的版本及其依赖项。

例如:
在这里插入图片描述

1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值