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

  • 电脑清理流氓软件(电脑清理)(电脑清理流氓软件怎么弄)

    电脑清理流氓软件(电脑清理)(电脑清理流氓软件怎么弄)

  • 定向流量是哪些app可以用(移动的动感地带定向流量是哪些)

    定向流量是哪些app可以用(移动的动感地带定向流量是哪些)

  • 省点花锦鲤卡怎么退款(省点花锦鲤卡怎么加油)

    省点花锦鲤卡怎么退款(省点花锦鲤卡怎么加油)

  • word空格下划线不显示怎么办(word空格下划线怎么设置)

    word空格下划线不显示怎么办(word空格下划线怎么设置)

  • 数据发生机构名称是什么意思(数据发生机构名称是贷款没还清吗)

    数据发生机构名称是什么意思(数据发生机构名称是贷款没还清吗)

  • 对方关闭了添加方式还能加吗(对方关闭了添加好友会显示什么)

    对方关闭了添加方式还能加吗(对方关闭了添加好友会显示什么)

  • 华为p40pro卡槽在哪里(华为p40pro卡槽在左边还是右边)

    华为p40pro卡槽在哪里(华为p40pro卡槽在左边还是右边)

  • 手机卡转网有什么影响(手机卡转网有什么要求)

    手机卡转网有什么影响(手机卡转网有什么要求)

  • 为什么充电充到80就充不进去电了(为什么充电充到98就不充了)

    为什么充电充到80就充不进去电了(为什么充电充到98就不充了)

  • dvi无信号显示屏不亮(dvi无信号显示屏不亮,主机不能关机,键盘也没用了)

    dvi无信号显示屏不亮(dvi无信号显示屏不亮,主机不能关机,键盘也没用了)

  • 抖音里面超级乐迷是什么意思(抖音超级乐迷是什么)

    抖音里面超级乐迷是什么意思(抖音超级乐迷是什么)

  • 三星s20和ultra区别(三星s20ultra和s20u)

    三星s20和ultra区别(三星s20ultra和s20u)

  • 单击修复计算机是按哪个键(单击修复计算机怎么弄)

    单击修复计算机是按哪个键(单击修复计算机怎么弄)

  • iphone没有id可以用吗(iphone没有苹果id可以登录吗)

    iphone没有id可以用吗(iphone没有苹果id可以登录吗)

  • 抖音号能分身吗(抖音号有分身吗)

    抖音号能分身吗(抖音号有分身吗)

  • 苹果手机照片怎么传到另一个安卓手机(苹果手机照片怎么传到另一个手机)

    苹果手机照片怎么传到另一个安卓手机(苹果手机照片怎么传到另一个手机)

  • 喜马拉雅下载的音频会员到期后还能听吗(喜马拉雅的音乐怎么保存到本地)

    喜马拉雅下载的音频会员到期后还能听吗(喜马拉雅的音乐怎么保存到本地)

  • 快手为什么不能换头像(快手为什么不能关注别人了)

    快手为什么不能换头像(快手为什么不能关注别人了)

  • 抖音评论表情包怎么弄(抖音评论表情包怎么添加)

    抖音评论表情包怎么弄(抖音评论表情包怎么添加)

  • 淘宝洋淘秀是什么意思(手机淘宝洋淘秀在哪儿)

    淘宝洋淘秀是什么意思(手机淘宝洋淘秀在哪儿)

  • 小米8有拍照防抖吗(小米8相机有光学防抖吗)

    小米8有拍照防抖吗(小米8相机有光学防抖吗)

  • 小米6有红外线功能吗(小米6红外线功能怎么开)

    小米6有红外线功能吗(小米6红外线功能怎么开)

  • 快手小店怎么添加商品(快手小店怎么添加员工)

    快手小店怎么添加商品(快手小店怎么添加员工)

  • 走进Vue【四】导航守卫和路由原信息详解(vue导航解析流程)

    走进Vue【四】导航守卫和路由原信息详解(vue导航解析流程)

  • 个人所得税信息采集怎么弄
  • 税务ukey电子发票二维码用什么扫码
  • 开增值税发票折扣折让是什么意思?
  • 当月未抵扣的进项税
  • 税额为零的增值税是多少
  • 农民合作社交哪些税
  • 微信转账报销怎么转换成文字
  • 房租收据样式
  • 价外补贴需要交增值税吗
  • 调增收入的会计分录
  • 建设单位收到施工承包单位的单位工程验收申请后应组织
  • 开公司后如何报个税申报
  • 小规模纳税人2018
  • 什么称为非正数
  • 有没有薪酬
  • 固定资产一次性计入费用的账务处理
  • 建筑工程公司开票如何做收入
  • 收到投资款现金流量项目是什么
  • 总资产利润率计算公式是什么意思
  • 多付几分钱怎么做账
  • 1697509300
  • 季度利润
  • 买水果送什么赠品
  • 公司购买车怎么做
  • info.exe
  • 携税宝续费
  • 什么叫集团内企业
  • 债务重组亏损计入
  • 承包经营所得税税率表
  • 培训学校主营业务成本明细科目设置
  • 红字增值税发票怎么开具图解
  • 进项税额转出怎么做账务处理
  • 选择相邻兄弟需要使用下列哪个符号
  • 活动补助会计分录
  • 应收债款的融资属于
  • Python数学建模三剑客
  • 银行开出的承兑怎么兑现
  • 经典帝国cms生成器下载
  • 残保金相关内容有哪些
  • 企业如何采购
  • 捐赠的增值税可以抵扣吗
  • 计提电费的会计分录怎么写
  • 季度销售额不超过30万元如何纳税
  • 开具劳务发票需要哪些资料?
  • 拿工资要开发票,发票去哪儿开?
  • 高新技术企业如何计算企业所得税
  • 混凝土增值税发票税率
  • 银行开户的费用计入什么科目
  • 货物赔偿款怎么开票
  • 劳务派遣如何做线上业务
  • 还银行贷款如何计算利息
  • 筹建期间发生的长期借款利息费用计入财务费用
  • 不得抵扣的增值税计入
  • 查账征收的优点
  • 将外购商品用于赠送客户
  • 网上充值平台不能提现怎么办
  • 旅游饮食服务企业会计核算的特点包括
  • sql server 修改
  • sql中的非逻辑
  • reg.exe是什么程序
  • win7怎么调整
  • 右键菜单管理 win10
  • 苹果电脑mac如何连接打印机
  • rundll32.exe在哪个文件夹
  • win10高对比度设置点了没反应
  • WIN7系统如何设置自动关机
  • Ubuntu如何安装软件
  • windows10秋季更新
  • centos6.5忘记密码
  • cortana win10
  • win10系统玩英雄联盟可以吗
  • css中dl
  • android系统介绍
  • vue移动端app开发流程
  • python搜索功能
  • javascript flash下fromCharCode和charCodeAt方法使用说明
  • 国内免费机场
  • 税务局验证码
  • 5种方式教你如何查询
  • 服务承诺口号八个字
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设