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

  • 未交增值税是什么科目
  • 税局退回附加税账务处理办法
  • 增值税税额怎么算出来
  • 财务制度怎么定
  • 独立法人有什么风险
  • 软件平台服务公司的营业执照经营范围怎么写
  • 自然人报税系统怎么进入单位报税系统
  • 所得税申报更正申报怎么报?
  • 一般纳税人减免增值税政策
  • 预算基数是什么
  • 企业报税盘入账应该记入哪个科目
  • 税收的优惠性政策包括哪些
  • 软件 退税
  • 公司的钱转到个人账户用途写什么
  • 贸易公司一般纳税多少
  • 公司开租房发票,税钱由公司承担
  • 应纳所得税额除以收入等于什么
  • 成品油消费税征税
  • 未按规定订立无固定期限劳动合同
  • 股权案例分析2020
  • 参加展会的住宿费计入什么科目
  • 印花税的征收范围
  • 企业赠送客户产品如何账务处理
  • 发票上不小心印上作废两个字怎么办
  • 行政事业单位的固定资产不计提折旧
  • 积分兑换现金的平台
  • 一寸照片尺寸是几乘几
  • 企业投资的工程项目包括
  • 外购固定资产对账怎么算
  • 外包公司代缴的税怎么算
  • 隐藏分区怎么打开
  • 苹果取消macbook
  • dotnetfx.exe
  • php实现搜索的方式
  • 印刷厂成本核算
  • Calanques de Piana岩层上的一个心形洞,法国科西嘉岛 (© joningall/Getty Images)
  • 房地产开发企业增值税怎么算
  • php 构造方法
  • 前后端分离弊端
  • 深入vue3+typescript技术栈
  • php 引用
  • 万能转换器mp4
  • 销售商品的收入属于收入吗
  • 税收返还会计处理办法
  • 所得税费用为什么不计入营业利润
  • 财务报表年报和汇算清缴的顺序
  • 财务报表季报应付职工薪酬为负数
  • 小规模纳税人怎么核定税种
  • MySQL慢查询优化面试问题
  • python 熵值法
  • 门诊收费票据能重新打印吗
  • 一般开发票都需要什么开票信息包括了什么?
  • 企业的经营业务
  • 软件退税款会计如何处理
  • 机动车发票红冲多了税盘被锁
  • 销售商品发生的运输费计入什么科目
  • 私人借款条怎么写合法
  • 上月做了未开票收入,这月开了票怎么报税
  • 债券分期付息到期还本的意思
  • 建设工程施工管理
  • 非关联企业之间可以借款吗
  • 做好成本会计的基础工作主要对企业成本管理有什么意义
  • 应收账款增加说明企业什么
  • sql局部变量标识符
  • select into 和 insert into select 两种表复制语句
  • xp电脑开机进入bios怎么办
  • 重装系统开机出现几个系统
  • windows xp的控制面板
  • centos常用命令安装
  • win10查看电脑配置显卡
  • Win10 RS1 14267 SDK版本发布下载
  • linux使用语言
  • cocos环境搭建
  • android开发地图应用
  • 鼠标焦点离开触发查询
  • Unity小贴士 导出资源文件和简单加密方式
  • python redis incr
  • 纳税人类型税码是什么
  • blueerdos和鄂尔多斯区别
  • 去银行签贷款合同后多久办过户
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设