位置: IT常识 - 正文

pnpm的基本原理及快速使用(pnpnpn的工作原理)

编辑:rootadmin
现在有不少项目都转向使用了pnpm,它能帮我们节约磁盘空间并提升包的安装速度,但是也没有带来很多使用习惯上的迁移,npm中的命令在pnpm中大多都是能用的,我们可以方便的切换到pnpm中进行开发。为何不尝试一下呢?本文就介绍了pnpm中基本的原理,很常用的命令,让你方便快速的了解并使用它。 ... 基本原理前置知识:软件链接与硬链接

推荐整理分享pnpm的基本原理及快速使用(pnpnpn的工作原理),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:pn的工作原理,pnp工作原理详解,pnpnpn的工作原理,详解pnp,pnp工作原理详解,pnp 原理,pnp工作原理详解,pnpnpn的工作原理,内容如对您有帮助,希望把文章链接给更多的朋友!

软链接(符号链接Symbolic link):是一类特殊的文件, 其包含有一条以绝对路径或者相对路径的形式指向其它文件或者目录的引用。在window快捷方式上和其功能类似。

硬链接:是计算机文件系统中的多个文件平等地共享同一个文件存储单元(如MFT条目、inode)。硬链接必须在同一个文件系统中;一般用户权限下的硬链接只能用于文件,不能用于目录,因为其父目录就有歧义了。

熟悉Linux的朋友就很容易就能区分理解这两个东西了。(mac同)创建的命令分别是:

# 创建硬链接$ ln target_file link_name# 创建软链接$ ln -s target_file link_name$ ln -s target_directory link_name

当然在windows中使用mklink也能够创建软链接和硬链接

# 创建硬链接mklink /H link_name target_file# 创建软链接mklink target_file link_name

创建非扁平化的 node_modules 文件夹pnpm的基本原理及快速使用(pnpnpn的工作原理)

这是官网的一张说明其非扁平化 node_modules的图,可能不是很明白,我们可以对比着npm会比较明白。分别使用npm和pnpm安装axios。

PS G:\npm_demo> npm install axiosadded 9 packages in 1sPS G:\pnpm_demo> pnpm add axiosPackages: +9+++++++++Packages are hard linked from the content-addressable store to the virtual store. Content-addressable store is at: G:\.pnpm-store\v3 Virtual store is at: node_modules/.pnpmProgress: resolved 9, reused 6, downloaded 3, added 9, donedependencies:+ axios 1.2.2Done in 2.8s

npm安装axios的时候,axios的依赖会放在和axios同一级,这样做的好处是,如果别的包也同样使用了这些依赖,就不用重新导入了。但是缺点是,我们在项目中也能直接去应用axios依赖导入的包。但我们自身的项目却是没有依赖那些包的。要是哪天移除了axios,那项目中可能就会出错了,也就是幽灵依赖。

切换node版本原理

在我们配置了系统环境变量之后,命令行中使用命令时,系统就会到配置的路径中去寻找是否有支持命令的软件,然后执行命令。

在安装pnpm的时候,它会在我们的环境变量中添加它自己文件夹的路径,比如在我电脑中它的路径是:C:\Users\Administrator\AppData\Local\pnpm,它的目录结构如下:

当我们使用pnpm切换node版本的时候,没有对应的版本它则会下载对应版本的node,然后在将其创建了链接(软链接)到pnpm的根目录中。就相当于当前环境变量中有了对应版本的node了。

快速使用安装

安装了node可以使用npm安装

npm install -g pnpm

没有也可以直接在powershell中使用命令进行安装

iwr https://get.pnpm.io/install.ps1 -useb | iex

安装过程中,若权限足够它会在自动在系统中添加环境变量。

常用命令(基本与npm一致)npm 命令pnpm 等效npm installpnpm installnpm ipnpm addnpm runpnpm 或 pnpm run删除相关依赖pnpm remove -D # 删除开发环境 devDependencies 中的依赖项pnpm rm -P # 删除dependencies 中相关依赖项pnpm uninstall -g # 全局中删除pnpm prune # 移除没有在项目中使用的packages管理node版本pnpm env use --global lts # 安装lts版nodepnpm env use --global 18 # 安装v18版nodepnpm env use --global latest # 安装最新nodepnpm env remove --global 14.0.0 # 移除指定版本nodepnpm env list # 查看本地有的node版本pnpm env list --remote # 查看网络源可用的node版本其它命令pnpm create react-app my-apppnpm start # 别名 run start常用配置package.json{ // 指定你的软件能够运行的 Node 版本和 pnpm 版本 "engines": { "node": ">=10", "pnpm": ">=3" }, "pnpm": { // 忽略依赖问题的警告 "peerDependencyRules": { "ignoreMissing": ["@babel/*", "@eslint/*"] } }}参考源

https://pnpm.io/zh/

本文链接地址:https://www.jiuchutong.com/zhishi/310194.html 转载请保留说明!

上一篇:织梦DEDECMS调出指定文章所有图片的代码(织梦怎么调用当前栏目下的文章)

下一篇:第6章 分支语句和逻辑运算符

  • ltsc和专业版区别(win10 ltsc和专业版区别)

    ltsc和专业版区别(win10 ltsc和专业版区别)

  • 荣耀play4pro支持红外遥控功能吗(荣耀play4pro支持内存卡扩展吗)

    荣耀play4pro支持红外遥控功能吗(荣耀play4pro支持内存卡扩展吗)

  • 手机优酷下载的视频怎么转换成mp4(手机优酷下载的视频怎么保存到手机相册)

    手机优酷下载的视频怎么转换成mp4(手机优酷下载的视频怎么保存到手机相册)

  • 快手提交不了订单是什么原因(快手提交不了订单)

    快手提交不了订单是什么原因(快手提交不了订单)

  • 钉钉入班失败是什么原因(钉钉提示入班失败的原因)

    钉钉入班失败是什么原因(钉钉提示入班失败的原因)

  • 内存条8g*2和16g*1区别(内存条8g*2和16g*2可以一起用吗)

    内存条8g*2和16g*1区别(内存条8g*2和16g*2可以一起用吗)

  • oled屏幕多久会烧屏(oled屏幕多久会烧屏知乎)

    oled屏幕多久会烧屏(oled屏幕多久会烧屏知乎)

  • mxf文件用什么播放器(mxf是什么文件格式)

    mxf文件用什么播放器(mxf是什么文件格式)

  • 为什么抖音视频不能分享到微信(为什么抖音视频发出去了但是别人看不到)

    为什么抖音视频不能分享到微信(为什么抖音视频发出去了但是别人看不到)

  • 华为mate30反向充电怎么用(华为mate30反向充电位置)

    华为mate30反向充电怎么用(华为mate30反向充电位置)

  • 笔记本快捷键关机(笔记本快捷键关闭键盘)

    笔记本快捷键关机(笔记本快捷键关闭键盘)

  • ipad10.2尺寸是多少厘米(ipad10.2英寸是多大)

    ipad10.2尺寸是多少厘米(ipad10.2英寸是多大)

  • 段落文字框不可以进行的操作是(段落文字框不可用怎么办)

    段落文字框不可以进行的操作是(段落文字框不可用怎么办)

  • 支付宝扫福一天能扫几次(支付宝扫福一天能扫几张)

    支付宝扫福一天能扫几次(支付宝扫福一天能扫几张)

  • 备忘录怎么添加图片(备忘录怎么添加表格)

    备忘录怎么添加图片(备忘录怎么添加表格)

  • 天眼查的数据来源于哪里(天眼查数据来源可靠吗)

    天眼查的数据来源于哪里(天眼查数据来源可靠吗)

  • 库乐队一直横屏怎么办呀(库乐队横屏怎么让它竖屏呢)

    库乐队一直横屏怎么办呀(库乐队横屏怎么让它竖屏呢)

  • 知乎有访客记录吗(知乎上能看见访客)

    知乎有访客记录吗(知乎上能看见访客)

  • 华为悬浮导航是干嘛的(华为悬浮导航是什么)

    华为悬浮导航是干嘛的(华为悬浮导航是什么)

  • 手机视频可以美颜吗(手机视频可以美颜的软件)

    手机视频可以美颜吗(手机视频可以美颜的软件)

  • 58求职申请能删除吗(58怎么删除求职申请)

    58求职申请能删除吗(58怎么删除求职申请)

  • win10删除微软拼音输入法教程(w10如何删除微软拼音)

    win10删除微软拼音输入法教程(w10如何删除微软拼音)

  • 【更新】vue使用 wangeditor4 富文本 + 富文本回显带标签+wangEditor4 加字数,光标会跑到最后 问题 (已解决)(vue使用技巧)

    【更新】vue使用 wangeditor4 富文本 + 富文本回显带标签+wangEditor4 加字数,光标会跑到最后 问题 (已解决)(vue使用技巧)

  • 个所得税计算方法
  • 房地产开发企业资质等级有几个
  • 收到增值税发票是不是就给钱了
  • 借款合同怎么做
  • 租赁合同印花税率
  • 报销销售部门差旅费
  • 火车票的进项税额
  • 增值税普通发票和普通发票的区别怎么交税
  • 销售商品提供劳务收到的现金包括
  • 税收分类编码不对发票可以用吗
  • 手撕汽车票在哪里弄到
  • 事业单位人员租房有补助吗
  • 留存收益转增资本有什么好处
  • 专家咨询费模板
  • 滞销款的最好销售办法
  • 库存现金多了是什么原因
  • 提前报废的固定资产怎么处理
  • 转让五年以上住房免征个人所得税吗?
  • 公司职员聚餐取个名字
  • 违约金收入计入应纳税所得额吗
  • 个人房产税征收标准
  • 增值税专用发票可以开电子发票吗
  • 房地产净利润率计算公式
  • 纳税申报有哪些规定
  • 小企业财务报表模板免费下载
  • 视同销售财税处理怎么做?
  • 消费税如何避税计算
  • win10指纹传感器在哪里
  • 公积金补缴上月算断缴吗
  • 网站防止被刷票怎么解决
  • executor进程
  • PHP:mb_decode_numericentity()的用法_mbstring函数
  • 个人所得税计提缴纳会计分录
  • 留抵增值税可以冲营业外支出吗
  • 无法将node项识别为
  • 矿产资源补偿费征收管理规定
  • php中用来创建目录的函数是
  • 鬓角头发剃光了多久能长好
  • 浅析人物形象的论文开题报告
  • php教程 ftp 函数
  • 期末结转主营业务收入负数
  • 上个月没有开票需要清卡吗
  • html前端开发教程
  • 用专项资金支付项目滞纳金合规么
  • 织梦怎么用
  • pos机到账流水算个人收入吗
  • 公司基本户里的钱有利息吗
  • 社会保险与商业人身保险的区别有
  • 商品购进核算
  • 会计学营业利润
  • 上年度记错科目怎么调整
  • 购入的技术服务作为成本
  • 广发银行的主营业务
  • 购买柴油预付卡怎么入账
  • 业务提成需要缴纳个人所得税吗?
  • 新医院会计制度什么时候实施
  • 弥补上年亏损所需的资金
  • 公司利润太高了怎么办
  • 私人公司盈利怎么把钱拿出来
  • 债务人以低于债务账面价值的现金清偿某项债务
  • win7桌面图标变成了lnk
  • mac运行很卡怎么办
  • win10预览版和正式版区别
  • win7怎么运行itunes
  • node linux安装
  • opengl文档窗口是什么
  • perl cgi
  • javascript从入门到放弃
  • 梦见擦窗户框
  • javascript零基础
  • 置顶快手作品怎么弄
  • python的了解
  • 增值税红字发票怎么做账
  • 深圳国税局官网
  • 出口退税是哪个环节交的
  • 江苏税务个税查询
  • 税务局审计整改的信息
  • 车没交车船税上路什么后果
  • 车辆购置税查询怎么查
  • 国网成都市局和绵阳市局的区别?
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设