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

  • 小米手机抖音变黑白怎么调过来(小米手机抖音怎么变成白色的界面)

    小米手机抖音变黑白怎么调过来(小米手机抖音怎么变成白色的界面)

  • 微信运动怎么关闭(微信运动怎么关闭让别人看不到)

    微信运动怎么关闭(微信运动怎么关闭让别人看不到)

  • 如何找回微信聊天记录(如何找回微信聊天记录并恢复安卓)

    如何找回微信聊天记录(如何找回微信聊天记录并恢复安卓)

  • 微信扫描身份证扫不上(微信扫描身份证怎么扫描)

    微信扫描身份证扫不上(微信扫描身份证怎么扫描)

  • oppoa52怎么截屏(oppoa52怎么截图手机屏幕)

    oppoa52怎么截屏(oppoa52怎么截图手机屏幕)

  • tinder收不到验证码(tinder手机号无法验证)

    tinder收不到验证码(tinder手机号无法验证)

  • 笔记本电脑电源指示灯不亮开机正常(笔记本电脑电源键一闪一闪无法开机)

    笔记本电脑电源指示灯不亮开机正常(笔记本电脑电源键一闪一闪无法开机)

  • 苹果摔了会有内伤吗(苹果手机摔了内部会松动吗)

    苹果摔了会有内伤吗(苹果手机摔了内部会松动吗)

  • windows media player什么意思(windows media player怎么倍速播放)

    windows media player什么意思(windows media player怎么倍速播放)

  • 钉钉的会议可以回放吗(钉钉的会议可以看时间吗)

    钉钉的会议可以回放吗(钉钉的会议可以看时间吗)

  • 为什么无故收到验证码(为什么无故收到银行验证码)

    为什么无故收到验证码(为什么无故收到银行验证码)

  • 通过icloud连接耳机是什么意思?(通过icloud连接耳机按住按钮)

    通过icloud连接耳机是什么意思?(通过icloud连接耳机按住按钮)

  • win版和mac版什么意思(win版本和mac版本)

    win版和mac版什么意思(win版本和mac版本)

  • b站的音频区在哪里(b站音频区在哪个版本可以看)

    b站的音频区在哪里(b站音频区在哪个版本可以看)

  • 诺基亚2720能用微信吗(诺基亚2720用的是锂离子电池嘛)

    诺基亚2720能用微信吗(诺基亚2720用的是锂离子电池嘛)

  • 软件卸载不了怎么办(软件卸载不了怎么强制卸载华为)

    软件卸载不了怎么办(软件卸载不了怎么强制卸载华为)

  • 快手个人主页怎么显示位置(快手个人主页怎么解除)

    快手个人主页怎么显示位置(快手个人主页怎么解除)

  • 怎么限制别人登录我的淘宝(怎么限制别人登录自己的微信)

    怎么限制别人登录我的淘宝(怎么限制别人登录自己的微信)

  • 京东一分钱乘车怎么弄(京东一分钱乘车券怎么领)

    京东一分钱乘车怎么弄(京东一分钱乘车券怎么领)

  • 一体手机进水不停重启(一体手机进水不能充电)

    一体手机进水不停重启(一体手机进水不能充电)

  • 坚果手机如何关闭应用(坚果手机如何关机)

    坚果手机如何关闭应用(坚果手机如何关机)

  • 电脑cpu性能天梯图2022最新高清大图(电脑CPU性能天梯)

    电脑cpu性能天梯图2022最新高清大图(电脑CPU性能天梯)

  • dedecms织梦不同栏目导航显示不同样式的方法

    dedecms织梦不同栏目导航显示不同样式的方法

  • 计算土地增值税时允许扣除的项目有
  • 非金融企业利息收入计入什么科目
  • 医院要交什么费用
  • 广东通用机打发票可以抵扣吗
  • 接受捐赠手续
  • 银行存款余额调节表编制
  • 建筑企业成本核算工作流程
  • 哪些费用的进项税可以抵扣
  • 关税计入存货成本分录
  • 银行证书年费计入什么科目
  • 支付一年房租的会计科目
  • 损益类科目是否可以转出
  • 多缴的企业所得税办理退税怎么处理
  • 利税总额是应交还是已交
  • 自制原始凭证和原始凭证的区别
  • 工会经费的所得税怎么算
  • 企业所得税扣除项目及标准
  • 入库出库模板
  • 仓储部门折旧计入什么科目
  • 研发新产品成功案例简短
  • 新成立公司没有财务报表情况说明
  • 哪些公司可以开咨询费发票
  • 选择纳税人身份考虑的因素
  • 未抵扣完的进项税计入待抵扣
  • 非居民企业提供劳务企业所得税
  • 企业分红给企业股东怎么交税
  • 企业采购成本包括所有的仓储费用
  • 企业注销时资本公积怎么处理
  • 对外支付和对外转账
  • 固定资产的折旧从什么时候开始
  • 折旧计算方法举例
  • u盘转移到另一个u盘
  • mac os 10.15安装教程
  • 2023年电子发票如何申领
  • mac option开机
  • 哪个是发票抵扣项目
  • 直接材料成本计算公式
  • 公司已经注销了还能劳动仲裁吗
  • thinkphp yii
  • YOLOv5网络结构组成
  • javascript js
  • excel&命令
  • Using Visual Leak Detector
  • 公司主营业务和经营范围的区别
  • python列表的创建和操作
  • 生育津贴如何做帐
  • 应收账款属于供应商还是客户
  • 会计凭证的装订范围包括
  • 个体工商户要做账报税吗
  • 工资是什么?包括哪些
  • 所得税申报报表
  • 应收账款全额计提的条件
  • 购销合同印花税按70%
  • 营改增的服务
  • 免税申请需要什么材料
  • 出售固定资产怎样报增值税申报表
  • 装修公司开劳务发票会被罚款吗
  • 汇算清缴帐务处理
  • windowsxp不能启动怎么修复
  • ubuntu20 vnc
  • win8系统如何安装软件
  • u盘安装win7视频教程
  • avsched32.exe是什么进程 avsched32进程有什么作用
  • win10系统自带的浏览器叫什么
  • linux系统文件系统只读
  • mac怎么找自己下载的应用
  • win7系统如何查看文件扩展名
  • mac book air安装
  • vlcplayer最新版
  • win7格式化怎么操作?
  • 增删改查的语句
  • java复选按钮
  • jQuery select自动选中功能实现方法分析
  • 详细解读了
  • javascript教程
  • python3解析json
  • 国际税务局邮箱是多少
  • 金税盘未反写
  • 广东电子税务局财务报表在哪里查询
  • 人社局要求社保补缴
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设