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

  • vivo x27怎么录屏幕视频(vivox27怎么录屏)

    vivo x27怎么录屏幕视频(vivox27怎么录屏)

  • 笔记本f8键怎么按(笔记本f8键怎么单独使用才不是飞行模式)

    笔记本f8键怎么按(笔记本f8键怎么单独使用才不是飞行模式)

  • 快手我被作者赞了什么不显示(快手作者赞过有什么用处吗)

    快手我被作者赞了什么不显示(快手作者赞过有什么用处吗)

  • 手机充电插拔正确方式(手机充电的时候拔掉再插上)

    手机充电插拔正确方式(手机充电的时候拔掉再插上)

  • 创建的主控文档能不能转为普通文档(创建的主控文档怎么删除)

    创建的主控文档能不能转为普通文档(创建的主控文档怎么删除)

  • 苹果手机屏幕上的时间可以移动位置吗(苹果手机屏幕上面模糊是怎么回事)

    苹果手机屏幕上的时间可以移动位置吗(苹果手机屏幕上面模糊是怎么回事)

  • 华为相册删除照片里清空了能恢复吗(华为相册删除照片删不掉)

    华为相册删除照片里清空了能恢复吗(华为相册删除照片删不掉)

  • 刷梅林固件是什么意思(刷完梅林固件怎么进入设置)

    刷梅林固件是什么意思(刷完梅林固件怎么进入设置)

  • 荣耀30s有方舟编译器吗(荣耀30可以玩方舟吗?)

    荣耀30s有方舟编译器吗(荣耀30可以玩方舟吗?)

  • 小米8支持双4g待机吗(小米8支持双电信吗?)

    小米8支持双4g待机吗(小米8支持双电信吗?)

  • ie升级后如何还原(50枚爱心值是什么意思)

    ie升级后如何还原(50枚爱心值是什么意思)

  • 微信群被恶意举报怎么申诉(微信群被恶意举报封了怎么办)

    微信群被恶意举报怎么申诉(微信群被恶意举报封了怎么办)

  • 手机云空间在哪里找(华为荣耀手机云空间在哪)

    手机云空间在哪里找(华为荣耀手机云空间在哪)

  • 手机上怎么打开qq邮箱(手机上怎么打开qq邮箱文件)

    手机上怎么打开qq邮箱(手机上怎么打开qq邮箱文件)

  • 小米8nfc功能在哪(小米8nfc在哪设置)

    小米8nfc功能在哪(小米8nfc在哪设置)

  • 手环里面有水雾怎么办(手环沾水不显示了怎么办)

    手环里面有水雾怎么办(手环沾水不显示了怎么办)

  • 抖音热门后再发作品会影响吗(抖音热门了,再发新的段子有影响吗)

    抖音热门后再发作品会影响吗(抖音热门了,再发新的段子有影响吗)

  • iphone11会出指纹吗(苹果11指纹有指纹吗)

    iphone11会出指纹吗(苹果11指纹有指纹吗)

  • 腾讯视频怎么换微信号登录(腾讯视频怎么换绑定手机号)

    腾讯视频怎么换微信号登录(腾讯视频怎么换绑定手机号)

  • vivo红外线怎么开启(vivo红外线怎么开)

    vivo红外线怎么开启(vivo红外线怎么开)

  • 顺风车下线后怎么坐顺风车(顺风车下线后怎么接单子)

    顺风车下线后怎么坐顺风车(顺风车下线后怎么接单子)

  • 南瓜电影怎么搜索(南瓜电影怎么搜索恶人传)

    南瓜电影怎么搜索(南瓜电影怎么搜索恶人传)

  • 不能抵扣的进项抵扣了
  • 纳税检查调减进项税额主表怎么不显示缴纳税款
  • 外资企业内资企业
  • 从价计税消费税计算公式
  • 2021城建税
  • 收到个人保险费会计分录
  • 集团内部借款利息收入增值税
  • 审计调整有关损害的规定
  • 设定受益计划会计处理案例
  • 滞纳金海关
  • 欠税后股东能否退股
  • 多交的应交税费怎么算
  • 产品销售员
  • 社会保险基金管理局是干什么的
  • 购货方跨月进项税额转出分录
  • 防伪税控技术维护费是进项还是销项
  • 金税盘?
  • 内销征税是什么意思
  • 小规模增值税怎么做账
  • 公司主要业务介绍
  • 个人转让住房要交哪些税费?
  • 合并报表怎么抵损益
  • 报税遇节假日延长吗?
  • 预收账款的科目属性
  • 进项发票认证抵扣会计分录
  • 分公司年报怎么查
  • 每股收益怎么计算净利润
  • 生产工人工资和福利费是产品成本项目
  • spss安装后无法启动许可证授权向导
  • linux系统安装谷歌浏览器教程
  • 房地产会计工资一般多少
  • 跳线和短接
  • mac os右键
  • 进口商品增值税可以抵扣吗
  • 超额累进税率包括
  • 怎么绕开中介找到房主
  • smart图形怎么单独设置动画
  • 国外进口增值税税率
  • 乐吾实验学校网站
  • python采集器
  • vue3生命周期及使用
  • sftp命令大全
  • java 通配符
  • 企业直接费
  • 未分配利润为负数严重吗
  • 特殊工种人身安全责任书
  • 税控盘维护费每年都要交吗
  • 关于sqlserver数据库服务器登录账户的说法错误的是
  • mysql常用语
  • 其他应收款怎么冲平会计分录
  • 跨月的普通发票怎么开红字发票
  • 计量差错引起的原材料盘亏
  • 销售商品发生的运输费计入什么科目
  • 会计中的材料采购是什么意思
  • 损益类科目明细账怎么结账
  • 预收账款变成了什么
  • 持有至到期投资改名为
  • 多收客户购置税怎么处理
  • 民间非营利组织会计制度及操作实务
  • 装修公司完工交付文案
  • sql搜索字段名
  • myeclipse中连接数据库的地方在哪
  • fedora使用
  • 光盘做镜像文件
  • 鼠标点击关闭按钮没反应
  • win7修改系统版本
  • bootstrap导航有哪些
  • 你所知道的三维建模软件有哪些?
  • js怎么理解
  • ExtJs3.0中Store添加 baseParams 的Bug
  • 获取jquery对象
  • js 数组去重的四种方法
  • unitytest
  • 地税局属于哪个部门管
  • 出口退税中的留抵税额
  • 电子税务局财务报表利润表本期金额
  • 税务社保费是什么意思
  • 四川职工医保联网了吗
  • 刚注册了一家深圳公司
  • 长治一诺代理记账公司
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设