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

  • python自动化脚本(python自动化脚本编写)

    python自动化脚本(python自动化脚本编写)

  • 大连公交车扫码支付怎么用(大连公交车扫码下载什么app)

    大连公交车扫码支付怎么用(大连公交车扫码下载什么app)

  • word怎么设置表格样式(word怎么设置表头每页都有文字可以更改)

    word怎么设置表格样式(word怎么设置表头每页都有文字可以更改)

  • plk-al10是什么型号的手机呢(plk-al10是什么型号的手机电池)

    plk-al10是什么型号的手机呢(plk-al10是什么型号的手机电池)

  • 华为mate30的闪光灯怎么开(华为mate30的闪光灯个摄像头)

    华为mate30的闪光灯怎么开(华为mate30的闪光灯个摄像头)

  • 在wps表格中怎么画线条(在wps表格中怎么把数字对齐)

    在wps表格中怎么画线条(在wps表格中怎么把数字对齐)

  • 优酷弹幕按钮不见了(优酷弹幕按钮不见了2022电脑)

    优酷弹幕按钮不见了(优酷弹幕按钮不见了2022电脑)

  • 打印机能用几年(一个打印机能用几年)

    打印机能用几年(一个打印机能用几年)

  • 小米怎么删除空白相册(小米怎么删除空相册)

    小米怎么删除空白相册(小米怎么删除空相册)

  • oppor9s怎么在桌面隐藏应用(oppor9s怎么设置桌面)

    oppor9s怎么在桌面隐藏应用(oppor9s怎么设置桌面)

  • 华为手机别人打电话提示关机(华为手机别人打电话正在通话中)

    华为手机别人打电话提示关机(华为手机别人打电话正在通话中)

  • 2080max q和2080区别

    2080max q和2080区别

  • 手机为什么拍不了照片(手机为什么拍不到星星)

    手机为什么拍不了照片(手机为什么拍不到星星)

  • 电脑hdd是什么意思(电脑hdc是什么意思)

    电脑hdd是什么意思(电脑hdc是什么意思)

  • 安卓手机文件管理在哪(安卓手机文件管理软件)

    安卓手机文件管理在哪(安卓手机文件管理软件)

  • websphere是什么(websphere portal)

    websphere是什么(websphere portal)

  • 淘宝怎么改支付方式(淘宝怎么改支付宝账号绑定)

    淘宝怎么改支付方式(淘宝怎么改支付宝账号绑定)

  • 解除微信登录低版限制(安卓微信低版本登录限制解除)

    解除微信登录低版限制(安卓微信低版本登录限制解除)

  • 天猫跟淘宝是一家的吗(天猫跟淘宝是一个软件吗)

    天猫跟淘宝是一家的吗(天猫跟淘宝是一个软件吗)

  • 抖音怎么转发别人的视频没有抖音号(抖音怎么转发别人的作品全屏显示)

    抖音怎么转发别人的视频没有抖音号(抖音怎么转发别人的作品全屏显示)

  • 抖音的增高特效在哪(抖音拍摄增高在哪设置?)

    抖音的增高特效在哪(抖音拍摄增高在哪设置?)

  • qcy怎么连接双耳(qcy怎么连接两个耳机)

    qcy怎么连接双耳(qcy怎么连接两个耳机)

  • 微信日志文件能删除吗(微信日志文件能保存多久)

    微信日志文件能删除吗(微信日志文件能保存多久)

  • 微信怎么看加过的好友(微信怎么看加过我的好友)

    微信怎么看加过的好友(微信怎么看加过我的好友)

  • 进项税额加计抵减会计分录
  • 递延所得税资产和负债怎么理解
  • 继续教育容易过吗
  • 合伙企业法人股东
  • 测试费明细
  • 折现率怎么确定 公式
  • 分公司没有业务季报怎么处理
  • 固定资产在现金流量表中的体现
  • 符合条件的居民企业之间股息红利
  • 无形资产摊销和累计摊销一样吗
  • 上月多计收入,本月如何调整?
  • 增值税销项税抵扣不完能退给企业吗?
  • 个人设备租赁给公司怎么提供发票
  • 个人所得税必须得交吗
  • 出口退税远程申报
  • 杨志勇财政
  • 床垫增值税税率是多少
  • 港杂费是由谁收取
  • 施工企业资产负债率
  • 1697509666
  • 固定资产转移是什么意思
  • 固定资产的折旧从什么时候开始
  • 关闭guest账户
  • 在win7系统中,添加打印机驱动程序
  • 年度应付职工薪酬在科目余额表哪里看
  • 最强笔记本2021
  • 一只躺在沙滩上的鸟
  • 事件循环(Event Loop)
  • 代码怎么用?
  • yii2入门
  • 社保包括哪些保险及比例
  • 工业企业成本怎么结转
  • 移动加权平均法例题
  • 训练自己的GPT
  • Vue3通透教程【十三】TS简单类型详解
  • 前端实际开发
  • vue使用技巧
  • umount -l命令
  • 保障金需要还吗
  • 完税证明可以作废吗
  • 资金占用费怎么开票
  • 收到的发票税收怎么处理
  • 一般纳税人只有销项没有进项
  • mysql基本语法
  • 非营利企业的劳动力需求有哪些特点
  • mysql左连接和右连接语法
  • 删除mysql数据库用户
  • 跨年的应收账款多做了怎么做账
  • 自产货物赠送客户账务处理
  • 水电费收据能证明什么??
  • 税收滞纳金计入营业外收入的哪里
  • 事业单位的非税收入账务处理
  • 项目毛利润怎么算
  • 公司的三证合一是什么
  • 会计凭证销毁的地方
  • sql汇总查询
  • 粘贴板有问题不能粘贴怎么处理
  • win2008 r2 hosts文件修改方法
  • 开机密码怎么删除
  • linux定时删除2天前的文件输出日志
  • get mac
  • windows多屏显示
  • win1021h2版本千万别更新
  • pkjobs.exe - pkjobs是什么进程 有什么用
  • postgres.exe是什么进程 postgres进程查询
  • win7怎么打开u盘里的的另一个U盘
  • win10资源管理器频繁无响应
  • python基本用法
  • shell脚本mysql
  • 异步加载场景
  • wxpython中Textctrl回车事件无效的解决方法
  • 江苏税务社保缴纳查询缴费记录
  • 纳税信用d级企业保留几年
  • 济南市中区税务局办税大厅
  • 我的电脑软件下载
  • 社保uk申请流程
  • 总公司和子公司是什么关系
  • 杭州 国税
  • 转租土地合法吗现在
  • 建筑行业增值税税率2021
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设