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

  • 红米k50至尊版怎么截屏(红米k50至尊版怎么录屏)

    红米k50至尊版怎么截屏(红米k50至尊版怎么录屏)

  • word文档双行合一怎么弄(word文档双行合一后的字体如何调整)

    word文档双行合一怎么弄(word文档双行合一后的字体如何调整)

  • 华为手机如何解除黑名单中的联系人(华为手机如何解除锁屏)

    华为手机如何解除黑名单中的联系人(华为手机如何解除锁屏)

  • mini4什么时候上市的(mini4刚上市多少钱)

    mini4什么时候上市的(mini4刚上市多少钱)

  • 三星手机开不了机一直震动是什么问题(三星手机开不了机怎么办)

    三星手机开不了机一直震动是什么问题(三星手机开不了机怎么办)

  • 华为5g手机可以用4g卡吗(华为5g手机可以用5g网络吗)

    华为5g手机可以用4g卡吗(华为5g手机可以用5g网络吗)

  • 打印机突然不能双面打印(打印机突然不能复印了是怎么回事)

    打印机突然不能双面打印(打印机突然不能复印了是怎么回事)

  • 离线发送是什么意思(离线发送是什么意思呀)

    离线发送是什么意思(离线发送是什么意思呀)

  • 淘宝怎么选择快递公司(淘宝怎么选择快递柜退货)

    淘宝怎么选择快递公司(淘宝怎么选择快递柜退货)

  • 电脑版钉钉英文怎么改成中文(电脑版钉钉英文改中文)

    电脑版钉钉英文怎么改成中文(电脑版钉钉英文改中文)

  • codemeter控制中心是什么(codemeter控制中心怎么出来)

    codemeter控制中心是什么(codemeter控制中心怎么出来)

  • 老年机打电话无法连接是怎么回事(老年机打电话无网络)

    老年机打电话无法连接是怎么回事(老年机打电话无网络)

  • 怎么看打印机的打印记录(怎么看打印机的墨水情况)

    怎么看打印机的打印记录(怎么看打印机的墨水情况)

  • 华为nova5pro卡槽针插哪(华为nova5pro卡槽打不开怎么办)

    华为nova5pro卡槽针插哪(华为nova5pro卡槽打不开怎么办)

  • 多媒体集线箱是干嘛的(多媒体集线箱是电视墙吗)

    多媒体集线箱是干嘛的(多媒体集线箱是电视墙吗)

  • force是什么意思(forced是什么意思)

    force是什么意思(forced是什么意思)

  • 网上发帖子怎么发(网上发帖子怎么发赚钱)

    网上发帖子怎么发(网上发帖子怎么发赚钱)

  • 医院微信退款多久到账(医院微信退款多久到账户)

    医院微信退款多久到账(医院微信退款多久到账户)

  • 学会计实操有用吗?(学会计实操能相当于几年经验吗诚选恒企教育好)

    学会计实操有用吗?(学会计实操能相当于几年经验吗诚选恒企教育好)

  • 抖音拍摄页面是哪里(抖音拍摄页面是什么样的)

    抖音拍摄页面是哪里(抖音拍摄页面是什么样的)

  • 抖音照片切换速度怎么调(抖音照片切换速率怎么调)

    抖音照片切换速度怎么调(抖音照片切换速率怎么调)

  • 充电器充电慢什么原因(充电器充电很慢)

    充电器充电慢什么原因(充电器充电很慢)

  • 华为p30有悬浮球吗(华为p30有悬浮球怎么关)

    华为p30有悬浮球吗(华为p30有悬浮球怎么关)

  • 淘宝如何制作视频(淘宝视频制作教程视频)

    淘宝如何制作视频(淘宝视频制作教程视频)

  • ssid在哪里看(怎么查看ssid名称)

    ssid在哪里看(怎么查看ssid名称)

  • Win10新版21364发布: 可直接运行Linux图形程序

    Win10新版21364发布: 可直接运行Linux图形程序

  • 做电商没有进货码怎么办
  • 车船税放在哪个科目核算
  • 购入固定资产入账
  • 应付账款超过三年未付
  • 金税盘技术维护费怎么申报
  • 聘用退休员工
  • 委托邮政企业投诉电话
  • 监督审核费用会计入账
  • 企业无形资产摊销表述不正确
  • 行政单位的存货是什么
  • 小规模纳税人专票开1%还是3%
  • 管理部门购入固定资产
  • 工业企业增值税缓交政策
  • 劳务费开发票还要代扣代缴吗?
  • 视同销售如何纳税调整?
  • 确认整个会计年度的依据
  • 需要缴纳企业所得税的有哪些
  • 发票的校验码被公章覆盖了怎么办
  • 税控盘技术维护费怎么抵扣
  • 返利发票税率
  • 没有税务登记证
  • 支付给个人的小票怎么写
  • 在王者荣耀里怎么删除好友
  • 穿越火线下载安装
  • 搜索特定
  • thinkphp怎么用
  • win11触摸板不能用
  • 怎样改善现金流量比率
  • 税收保全措施的期限一般不超过几个月
  • 进项税少入账如何处理
  • 支付离退休人员退休金可以用现金结算吗
  • 房屋权属登记撤销申请书
  • 收到税务局退回的企业所得税分录
  • 应交增值税明细科目怎么看
  • 其他债权投资和持有至到期投资的区别
  • 施工企业如何开发票
  • 一分钟玩转钉钉文档是什么东西
  • 一文看懂华为新品发布会
  • php搜索功能怎么实现
  • php目录结构
  • 减免税款月末怎么结转
  • 税控盘全额抵扣政策
  • sql有什么
  • deepin 15.3 X64系统中安装mongodb的方法步骤
  • 计提工资的时候计提个税吗
  • 给对方开发票需要
  • 软件企业增值税计算
  • 股东分红的会计分录怎么做
  • 社保缴费是当月扣当月的吗
  • 土地增值税的计算方法公式
  • 租赁吊车服务的利润大概有多少
  • 企业收到海河工厂发运的乙材料,并验收入库
  • mysql导入sql文件命令
  • 现金折让的账务处理
  • 实收资本入账需要算设备安装费吗
  • 合同法有什么规定
  • 现金日记账定金怎么算
  • 固定资产折旧的会计科目
  • 公司法人借款给企业属于关联交易吗?
  • 会计做内账的技巧与方法
  • sql自定义变量
  • 在数据库master中拒绝了create table权限
  • apache系统服务启动不了
  • mac10.15系统
  • 将哪一linux文件系统引入
  • win双系统怎么切换
  • w7系统cf怎么调烟雾头
  • linux 使用技巧
  • win7 win8 win8.1
  • jquery操作dom
  • jquery中的选择器有哪些
  • python数据结构教程
  • linux命令统计
  • 用python画一棵树
  • python接口编写
  • 游戏客服怎么跟客户聊天
  • 公路局有钱吗
  • 深圳市税务局发短信是真的吗
  • 深圳如何打印个人征信
  • 云南省电子税务局登录入口
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设