位置: 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章 分支语句和逻辑运算符

  • qq超级秀怎么关(怎么关闭qq秀功能)

    qq超级秀怎么关(怎么关闭qq秀功能)

  • 和家亲摄像头怎么联网设置教程(和家亲摄像头怎么设置存储卡)

    和家亲摄像头怎么联网设置教程(和家亲摄像头怎么设置存储卡)

  • 红包封面怎么领取(腾讯视频红包封面怎么领)

    红包封面怎么领取(腾讯视频红包封面怎么领)

  • oppo手机桌面上的时间和天气不见了(oppo手机桌面上有个图标弄不掉)

    oppo手机桌面上的时间和天气不见了(oppo手机桌面上有个图标弄不掉)

  • 小谷连不上网怎么办(小谷怎么连接网络视频)

    小谷连不上网怎么办(小谷怎么连接网络视频)

  • 探探真实头像认证技巧(探探真实头像认证破解)

    探探真实头像认证技巧(探探真实头像认证破解)

  • 路由器不连接电脑可以用吗(路由器不连接电脑可以上网吗)

    路由器不连接电脑可以用吗(路由器不连接电脑可以上网吗)

  • 内存条4g和8g用起来有区别吗(4g内存条和8g内存条)

    内存条4g和8g用起来有区别吗(4g内存条和8g内存条)

  • b站录播在哪里看(b站录屏直播在哪)

    b站录播在哪里看(b站录屏直播在哪)

  • word怎样给文字加波浪下划线(word怎样给文字设置超链接)

    word怎样给文字加波浪下划线(word怎样给文字设置超链接)

  • 摄像头焦距2.8mm和4mm区别(摄像头焦距2.8mm和4mm哪个好)

    摄像头焦距2.8mm和4mm区别(摄像头焦距2.8mm和4mm哪个好)

  • 支持nfc是什么意思(支持nfc功能的手机有哪几款)

    支持nfc是什么意思(支持nfc功能的手机有哪几款)

  • 奇异果和爱奇艺的关系(奇异果和爱奇艺会员一样吗)

    奇异果和爱奇艺的关系(奇异果和爱奇艺会员一样吗)

  • 如何快速增加淘气值(怎么快速增加淘宝的淘气值)

    如何快速增加淘气值(怎么快速增加淘宝的淘气值)

  • 铁路12306积分有什么用(铁路12306积分获得)

    铁路12306积分有什么用(铁路12306积分获得)

  • 苹果11充电速度几个小时(苹果11充电速度变快)

    苹果11充电速度几个小时(苹果11充电速度变快)

  • 快手相片怎么删除(快手相片删了怎么找回视频教程)

    快手相片怎么删除(快手相片删了怎么找回视频教程)

  • 快手怎么删除通讯录好友(快手怎么删除通讯录的人)

    快手怎么删除通讯录好友(快手怎么删除通讯录的人)

  • 华为如何隐藏通话时间(华为如何隐藏通知内容)

    华为如何隐藏通话时间(华为如何隐藏通知内容)

  • 怎么把马赛克图片复原(怎么把马赛克图片)

    怎么把马赛克图片复原(怎么把马赛克图片)

  • 亲测 Windows11密钥/激活码分享 附激活工具(windows 11密钥)

    亲测 Windows11密钥/激活码分享 附激活工具(windows 11密钥)

  • windows11怎么显示文件后缀名? win11显示后缀名的两种方法(windows11怎么显示桌面图标)

    windows11怎么显示文件后缀名? win11显示后缀名的两种方法(windows11怎么显示桌面图标)

  • uni-app读取本地json数据文件,并渲染到页面上。(uniapp获取当前url)

    uni-app读取本地json数据文件,并渲染到页面上。(uniapp获取当前url)

  • 关联方的借款用什么科目核算
  • 销售二手车需要什么资质
  • 税务是怎么回事
  • 年报后 申报报表年初数会调整吗
  • 申报后发现成本算错了
  • 账本一般保存几年就可以销毁2004年的规定
  • 委托加工物资属于企业资产吗
  • 企业重组个人股东个人所得税
  • 哪些企业税收优惠
  • 存货非正常损失的纳税筹划
  • 以固定资产换入固定资产
  • 定货合同有法律效力吗?
  • 行政事业单位结算起点
  • 帮客户垫付的费用有发票如何做账科目
  • 互联网合同要交社保吗
  • 返税怎么操作流程
  • 劳务费发票和建筑劳务费发票
  • 工程所在地预缴税款可以退回吗
  • 发票校验码后六位图解
  • 私募股权基金税收主要涉及的是什么税收问题
  • 事业单位零余额账户使用流程
  • window10最新激活码
  • 银行定期存款转存
  • 增值税专用发票和普通发票的区别
  • linux aptx
  • 停工损失会计准则
  • 临时工工资应该找人力资源要吗
  • 工程事故赔偿协议书怎么写
  • 农产品专票可以开零税率吗
  • 视同销售计税价格如何确定
  • flex布局子元素height100
  • 悬崖边上的门
  • 劳务报酬所得包括哪些
  • 二连浩特老照片
  • php 遍历字符串
  • redis两种持久化方式的优缺点
  • elementui的表格
  • 什么是死锁,死锁的四个必要条件
  • 帝国cms视频教程
  • mongodb主从复制和副本集架构有什么联系和区别
  • 深入了解工作优势怎么回答
  • 企业所得税的纳税调整项和比例
  • sqlserver数据库大小于对索引有影响吗?
  • 库存商品是表达什么意思
  • 增值税进项税额抵扣期限最新
  • 汽车报废补贴18000
  • 公司交社保有什么用处
  • 如何处理固定资产报废
  • 财务费用?
  • 困难行业企业包括哪四大类
  • 房地产企业印花税计入什么科目
  • 冲销应付账款暂估应付账款的分录怎么做
  • mysql实现分页查询
  • sqlserver 禁用触发器 超时
  • xp系统不能搜索
  • redhat系统安装gvim
  • window组策略
  • win7清理系统垃圾的方法
  • win7系统在哪里设置ip地址
  • centos sync
  • ubuntu的终端在哪
  • 微软今天正式停产了吗
  • mac系统怎么把文件移到文件夹
  • win7玩穿越火线电脑应该怎么设置
  • mac安装dw
  • win7远程桌面连接命令
  • win8.1自带usb3.0驱动吗
  • 如何修改windows密码策略
  • win10非正常关机系统修复
  • 原生js怎么获取input值
  • androidtime
  • es5 教程
  • jquerycdn
  • javascript ?
  • jsp页面显示日历控件
  • jquery弹出框样式大全
  • 初始密码是几位数
  • 机动车检测属于哪个税收
  • 北京市朝阳区地图
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设