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

  • 钉钉可以加入两个公司吗(钉钉可以加入两个会议吗)

    钉钉可以加入两个公司吗(钉钉可以加入两个会议吗)

  • 成年当天可以开通花呗吗(成年当天可以开通白条吗)

    成年当天可以开通花呗吗(成年当天可以开通白条吗)

  • 苹果x停售的原因(苹果x停产官方回应)

    苹果x停售的原因(苹果x停产官方回应)

  • vivo手机型号在哪里查(vivo手机最新款是什么型号)

    vivo手机型号在哪里查(vivo手机最新款是什么型号)

  • 快手能查出真实身份吗(快手可以查)

    快手能查出真实身份吗(快手可以查)

  • 录音笔连接电脑没反应(录音笔连接电脑不显示文件)

    录音笔连接电脑没反应(录音笔连接电脑不显示文件)

  • 商家七天没发货怎么办(商家七天没发货退款)

    商家七天没发货怎么办(商家七天没发货退款)

  • 拉黑和删除朋友圈的显示一样吗?(拉黑和删除朋友圈)

    拉黑和删除朋友圈的显示一样吗?(拉黑和删除朋友圈)

  • 淘宝退货时间怎么延长(淘宝退货时间怎么看)

    淘宝退货时间怎么延长(淘宝退货时间怎么看)

  • 开启免打扰模式别人打电话什么样(怎么开启免打扰模式)

    开启免打扰模式别人打电话什么样(怎么开启免打扰模式)

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

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

  • 华为的se是什么意思(手机华为se是什么意思的缩写)

    华为的se是什么意思(手机华为se是什么意思的缩写)

  • 买家旺旺号被降权能恢复吗(买家旺旺号被降权)

    买家旺旺号被降权能恢复吗(买家旺旺号被降权)

  • 光盘和u盘的区别(光盘与u盘的区别)

    光盘和u盘的区别(光盘与u盘的区别)

  • ps怎么解锁(solips怎么解锁)

    ps怎么解锁(solips怎么解锁)

  • oppoa3怎么设置耳机模式(oppoa93耳机设置)

    oppoa3怎么设置耳机模式(oppoa93耳机设置)

  • 小米9pro支持无线充电吗(华为20pro手机参数配置)

    小米9pro支持无线充电吗(华为20pro手机参数配置)

  • 华为nova4和nova4e手机壳一样吗(华为nova4和nova4e的钢化膜一样吗)

    华为nova4和nova4e手机壳一样吗(华为nova4和nova4e的钢化膜一样吗)

  • 苹果5g手机上架时间(苹果5g手机什么时候上市苹果官网)

    苹果5g手机上架时间(苹果5g手机什么时候上市苹果官网)

  • vlog上传怎么保持清晰(vlog拍完上传到哪)

    vlog上传怎么保持清晰(vlog拍完上传到哪)

  • 打电话有声音放歌没声音怎么回事(打电话声音放大器软件)

    打电话有声音放歌没声音怎么回事(打电话声音放大器软件)

  • 拼多多关闭拼单声音(拼多多如何关闭拼单)

    拼多多关闭拼单声音(拼多多如何关闭拼单)

  • 如何规范ui设计原型图(如何规范ui设计图片)

    如何规范ui设计原型图(如何规范ui设计图片)

  • 摄像头能拍多远(摄像头能拍多远的距离)

    摄像头能拍多远(摄像头能拍多远的距离)

  • shwiconem.exe - shwiconem是什么进程 有什么用

    shwiconem.exe - shwiconem是什么进程 有什么用

  • 一般纳税人劳务费税率是多少
  • 增值税普通发票和电子普通发票的区别
  • 预计净残值的计算公式为
  • 质量体系证费用计入什么科目
  • 财务记账之后是否必须审核
  • 五联普通发票盖章要求
  • 以前年度损益调整属于哪类科目
  • 增值税专用发票电子版
  • 固定资产账面价值公式
  • 购房所需的税费种类和费用
  • 工程结算与工程施工如何结转
  • 增值税普通发票需要交税吗
  • 没有股权取得的分红如何交税?
  • 挂靠工程的所得税账务处理怎么做?
  • 境外企业开票没有税号怎么办?
  • 最新科研增值税税率为多少?
  • 一般纳税人的进项税额计入成本吗
  • 资产处置损益是收入还是费用
  • 期间损益结转怎么结转
  • 计提减值准备怎么计算?
  • 累计折旧差错调整减少
  • 六大会计科目的关系
  • 公司账户有钱怎么取出来
  • 资本公积转增资本什么意思
  • 应收单据处理包括哪些
  • 总分机构异地移送
  • 生产工人工资和福利费是产品成本项目
  • 腾讯手游助手qq版本过低
  • 建筑公司采购制度和流程
  • 公司免税是指免的什么税
  • 拍卖公司财务
  • php过滤数组中的空字符串
  • 企业的营业外收入要交增值税吗
  • 报关代理费是什么
  • 八个与cpu相关的字符
  • php odbc
  • 减征增值税的项目
  • php获取指定日期是星期几
  • 收入汇缴账户可以冻结吗
  • 新税法减免项目
  • PHP:imagecolorresolvealpha()的用法_GD库图像处理函数
  • 现金流量表结构分析
  • php sdk使用教程
  • php获取ua
  • php会员系统
  • 商业承兑到期后有效期
  • php框架symfony
  • pytest unittest
  • 代扣代缴个人所得税奖励金
  • 出租房产怎么交房产税
  • 小规模代开增值税专用发票怎么操作?
  • 固定资产丢失如何补办
  • 工资个税什么时候用综合所得公式计算
  • 员工报销的差旅费会计分录
  • 过期产品进项税用转出吗
  • 增值税是主税吗
  • 民办非企业单位免税
  • 出口退税申报的报关单无电子信息
  • 购货方尚未偿付的货款属于什么会计科目
  • 航天金税盘维护费发票在哪打印
  • 普通发票如何作废操作流程
  • mysql 忘记密码重置密码
  • mysql explain的用法(使用explain优化查询语句)
  • mysql怎么修改数据表
  • win7系统开机黑屏
  • ubuntu adb找不到设备
  • 用U盘安装系统重启后进不去
  • mac safari浏览器翻译功能
  • node.js基础入门
  • jQuery实现CheckBox全选、全不选功能
  • javascript cookbook
  • 全面解析日本失去的十年
  • js数组的push方法
  • 税务局与稽查局哪个好
  • 专票开出去了多长时间必须打入账户
  • 现在买车是不是免购置税
  • 分红太多
  • 外汇申报填写什么最简单
  • 税务工作的前景怎么样
  • 发票抽奖还有吗
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设