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

  • 增加微博粉丝的二十个方法途径(增加微博粉丝的方法)

    增加微博粉丝的二十个方法途径(增加微博粉丝的方法)

  • 苹果13怎么关机(苹果13怎么关机按哪个键)

    苹果13怎么关机(苹果13怎么关机按哪个键)

  • 苹果11app怎么加密(苹果11怎么添加app密码)

    苹果11app怎么加密(苹果11怎么添加app密码)

  • 小爱同学没反应(为什么喊小爱同学没反应)

    小爱同学没反应(为什么喊小爱同学没反应)

  • 小米平板密码忘了怎么办(小米平板密码忘了怎么办最简单的方法)

    小米平板密码忘了怎么办(小米平板密码忘了怎么办最简单的方法)

  • 对方加你微信过期了怎么办(对方加微信过来还没认证不小心删了丛那里找回来)

    对方加你微信过期了怎么办(对方加微信过来还没认证不小心删了丛那里找回来)

  • 腾讯课堂怎么关摄像头(腾讯课堂怎么关麦)

    腾讯课堂怎么关摄像头(腾讯课堂怎么关麦)

  • 0x000000074蓝屏怎么弄(0x000000078蓝屏)

    0x000000074蓝屏怎么弄(0x000000078蓝屏)

  • 5g是第几代移动通信技术标准(5g又称第五代移动电话)

    5g是第几代移动通信技术标准(5g又称第五代移动电话)

  • 手机耳机一边响一边不响(手机耳机一边响两边不响)

    手机耳机一边响一边不响(手机耳机一边响两边不响)

  • 系统软件中最重要的是什么(系统软件中最重要的)

    系统软件中最重要的是什么(系统软件中最重要的)

  • hisuite通过hdb连接设备是什么意思

    hisuite通过hdb连接设备是什么意思

  • 华为红包提醒功能在哪里设置(华为手机,红包提醒)

    华为红包提醒功能在哪里设置(华为手机,红包提醒)

  • iphone电池健康多少可以免费换(iphone电池健康多少建议更换)

    iphone电池健康多少可以免费换(iphone电池健康多少建议更换)

  • 一个vip可以用几个手机(一个vip可以用几个电视)

    一个vip可以用几个手机(一个vip可以用几个电视)

  • 耳机上L和R哪个是左哪个是右(耳机r和l是)

    耳机上L和R哪个是左哪个是右(耳机r和l是)

  • 锂电池寿命最长多少年(锂电池寿命?)

    锂电池寿命最长多少年(锂电池寿命?)

  • 怎么才能监控别人的聊天记录(怎么才能监控别人手机聊天记录)

    怎么才能监控别人的聊天记录(怎么才能监控别人手机聊天记录)

  • vivo手机悬浮窗怎么弄(vivo手机悬浮窗口怎么关闭)

    vivo手机悬浮窗怎么弄(vivo手机悬浮窗口怎么关闭)

  • 苹果xr跟8机身大小(苹果xr跟8机身大小不一样)

    苹果xr跟8机身大小(苹果xr跟8机身大小不一样)

  • 两个摄像头有什么作用(两个摄像头有什么区别)

    两个摄像头有什么作用(两个摄像头有什么区别)

  • iphonex怎么电话录音(苹果x电话怎么设置)

    iphonex怎么电话录音(苹果x电话怎么设置)

  • keep连续包月怎么取消(keep连续包月怎么取消苹果)

    keep连续包月怎么取消(keep连续包月怎么取消苹果)

  • 微信怎么解除安全模式(微信怎么解除安全保护状态登录不上去了)

    微信怎么解除安全模式(微信怎么解除安全保护状态登录不上去了)

  • win11任务栏无反应怎么办?win11任务栏无反应解决方法(win11任务栏失灵)

    win11任务栏无反应怎么办?win11任务栏无反应解决方法(win11任务栏失灵)

  • 布莱斯峡谷国家公园的冬天,犹他州 (© Don Paulson/Danita Delimont)(美国布莱斯大峡谷成因)

    布莱斯峡谷国家公园的冬天,犹他州 (© Don Paulson/Danita Delimont)(美国布莱斯大峡谷成因)

  • 非居民个人利息所得个税税率
  • 印花税的分录如何做
  • 上交个人所得税分录
  • 柴油车尾气处理液会计分录
  • 会计凭证销毁方法
  • 金税四期如何应对
  • 库存商品属于资产类会计科目吗
  • 企业注销企业所得税年报怎么申报
  • 股权转让时的资金是什么
  • 劳务公司怎样纳税
  • 电算化怎么操作
  • 权益法下股权投资
  • 税务局扣税余额不足
  • 办公场所转租赁需要交哪些税费
  • 处置资产发生的清理费计入
  • 保险的月缴纳可以调整么?
  • 清卡增值税申报比对不通过的原因
  • 营改增后利息收入交什么税
  • 13个点的发票实际交多少钱
  • 公司股东认缴资质末到位导致公司破产应承担什么责任
  • 销售利润率的计算公式,安全边际率
  • 制造费用在利润表体现吗
  • 劳务费个人所得税税率表2023最新
  • 差额征税预缴税额怎么算
  • 如何查看系统浏览器记录
  • 证券资金利息
  • 信息化投入费用包括哪些
  • 发生销售折让会计分录
  • win7有线连接怎么设置
  • 汇算清缴是哪个报表
  • 销售预售卡如何入账
  • 发生债务重组收益的分录
  • 苹果最小的充电器是哪一款
  • 最快超级计算机我国
  • 固定资产折旧需要减去减值准备吗
  • 图文详解一本通
  • 农产品小规模纳税人
  • springboot aop切面
  • index.php怎么修改
  • python里面的类
  • 非正常损失的增值税进项税额转出
  • 企业金融资产包括银行存款吗
  • 会计需要装订资料有哪些
  • 小规模超过30万怎么交增值税
  • 小规模纳税人财务报表季报怎么填
  • 个人所得税如何缴纳
  • 建筑工程人工费包括哪些内容
  • 年底没有取得发票企业所得税
  • 施工企业外经证交费的时候工会经费是怎么计算的
  • 会计核算以什么为主
  • 出口退税的会计科目
  • 一次开票分期确认收入
  • 勘察设计费是否可以进入在建工程
  • 物流公司的修理工资高吗
  • 收到公司的钱写收据
  • 确认应付职工薪酬如何计算
  • 坏账准备确认坏账
  • 关于其他应付款的问题
  • 何为生产型企业
  • 买钢管扣件
  • 工会经费交纳
  • 市盈率为负数是说明什么呢
  • centos占用内存高
  • 安装最新的powershell,了解新功能和改进
  • u启动怎么装机
  • windows预览版和正式版区别
  • linux如何查看磁盘信息
  • linux小技巧
  • windows10直接安装
  • python生成二维码添加图片
  • ExtJs 3.1 XmlTreeLoader Example Error
  • 常用的linux命令大全
  • 自动上传文件
  • python def用法理解
  • node.js express koa
  • unity3d怎么让物体依次运动
  • python 字典的字典
  • 纳税人接受教育
  • 纳税人在国外签字流程
  • 新三步走和旧三步走的异同点
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设