PNPM入门精简版

PNPM入门精简版

pnpm文档地址:pnpm.io/zh/motivati...

使用 npm、Yarn 时,依赖每次被不同 的项目使用,都会重复安装一次。

而在使用 pnpm 时,依赖会被存储在内容可寻址的存储中,所以:

如果你用到了某依赖项的不同版本,只会将不同版本间有差异的文件添加到仓库。

例如,如果某个包有100个文件,而它的新版本只改变了其中1个文件。那么 pnpm update 时只会向存储中心额外添加1个新文件,而不会因为仅仅一个文件的改变复制整新版本包的内容。所有文件都会存储在硬盘上的某一位置。

当软件包被被安装时,包里的文件会硬链接到这一位置,而不会占用额外的磁盘空间。

这允许你跨项目地共享同一版本的依赖。

所以总的来说,pnpm的优势就在于:

pnpm 通过软、硬链接(hark link、symbolic link) + 全局存储(store)结合的依赖管理方式完全实现了依赖树结构的包管理方式,解决了 npm3 及 yarn 中的幽灵依赖和 npm 分身的问题,提升了依赖包的安装速度,减小了磁盘空间占用。

然后就是把下面这个文件配置好,设置好工作空间,这样在你的package.json文件里面就可以通过例如 myButton:'workspace^'这样来使用。

pnpm-workspace.yaml

bash 复制代码
packages:
  # all packages in direct subdirs of packages/
  - 'packages/*'
  # all packages in subdirs of components/
  - 'components/**'
  # exclude packages that are inside test directories
  - '!**/test/**'

那么软硬连接该怎么区分呢?

转自: 掘金文章地址@我就是小傲娇

小课堂:硬链接和软连接的区别

linux下有两种链接,一种是硬链接(Hard Link),另一种是符号链接(Symbolic Link),也可以称之为软连接

  • 硬链接:只能引用同一文件系统中的文件。它引用的是文件在文件系统中的物理索引(inode)。当移动或者删除原始文件时,硬链接不会被破坏,因为它所引用的是文件的物理数据而不是文件在文件结构中的位置。硬链接记录的是目标的inode。同一文件的不同硬链接文件相当于该文件的多个不同文件名,即多个不同访问路径,他们的inode都是一样的。不可以为目录创建软连接。
  • 符号链接:和原文件不是同一个文件,符号链接会有自己的inode,它所引用的是原文件的path,当原文件被移动或删除的时候,符号链接的文件就不可以。例如windows中的快捷方式。也可以为目录创建软连接。 如何建立硬链接和软连接呢 可以使用ln命令来创建
  • ln 原文件名 硬链接文件名, 例如: ln file hardfile,就是创建了file文件的硬链接文件hardfile
  • ln -s 原文件名 硬链接文件名,例如: ln -s file softfile,就是创建了file文件的硬链接文件softfile 在系统中查看操作一遍(执行以下命令)
bash 复制代码
touch file && echo 'thisi is init file' > file
ln file hardfile
ln -s file softfile 
ln -ls

可以看到hardfile和file的inode是一样的(最左侧的33038778),而softfile是有了一个自己的inode

此时如果删除file文件 rm file,再去查看hardfile和softfile看一下有什么变化

bash 复制代码
cat hardfile
cat softfile

此时会发现,hardfile文件是不受影响的,softfile已经不存在了,因为它链接到的file已经不存在了

相关推荐
deli00721 分钟前
手机拍灯为什么有一条条黑纹?PWM 240Hz 实测
前端
wangruofeng5 小时前
AI Models 1.1.0 发布,查大模型价格、对比模型和找 API 地址
前端·aigc·ai编程
wangruofeng5 小时前
给前端开发者的 100 个设计参考网站
前端·设计
星栈8 小时前
视频即代码,Remotion 能做什么、不能做什么
前端·音视频开发
广州华水科技8 小时前
单北斗GNSS位移监测系统的应用与技术解析
前端
用户47949283569159 小时前
从一句话或代码仓到可交互 HTML:开源 Agent 画图技能 Archify v3.2 实测与选型边界
前端·后端·面试
风骏时光牛马11 小时前
生成一个AI多模态标题,仅输出一条标题,无额外文字、问句、备选、配图、文案等任何附加内容,不需要其他的任务服务 只要标题。
前端
wangruofeng12 小时前
从 GIF 到 AVIF:网页图片格式演进与 2026 年选型指南
前端·架构
清晨Coding12 小时前
为什么用 React Developer Tools 查看组件树这么乱?
前端·react.js
鶴哥只手遮天13 小时前
《Electron 45.2.3 内核解剖》第 4 章 补丁体系:380 个补丁改了什么
前端·electron