pnpm绝对于npm和yarn的劣势

1.npmyarn都采纳了扁平化的装包策略。如果咱们下载vue,执行npm i vue查看node_modules,能够看到咱们只装置了vue,node_modules中却呈现了这么多包,这些包都是vue中用到的依赖包,那么咱们能够间接应用第三方依赖,如果有一天vue更新版本忽然不必某个咱们用到的依赖了,那么就会报错。这种状况也称之为幽灵依赖

应用pnpm能够看到目录是很清晰的,咱们看到的node_modules中的vue文件夹只是一个软链接, 它的真正存储的中央在.pnpm 文件夹中。

2.如果有10个我的项目应用npm或者yarn下载依赖包,那么会产生10个依赖包的正本占用磁盘。应用pnpm会将依赖包存储到对立地位,下面看到的.pnpm是虚拟存储目录,外面的文件是从对立地位做的硬链接,而和.pnpm同级的vue包是一个符号链接。

什么是符号链接

符号链接也能够称为软连贯。是一类非凡的文件, 其蕴含有一条以绝对路径或者相对路径的模式指向其它文件或者目录的援用。就是给指标文件创建一个快捷方式,能够避免一遍又一遍地复制雷同的数据。应用软链接的形式生成的文件夹指向的是源文件,能够对源文件进行读写,删除软链接文件不会对源文件产生影响。

  • windows零碎实操

    • 1 在D盘创立文件夹linkTest,linkTest里蕴含hello.txt,内容如下
    • 2 在C盘创立软链接

    依据提醒进行操作

    能够看到在C盘下生成了linkTest文件,那么咱们当初批改C盘下的linkTest文件

    查看D盘下的linkTest

    能够看到D盘下相应的文件也产生了变动

    • 3 查看一个文件是否是软链接

什么是硬链接

硬链接(hard link,也称链接)就是一个文件的一个或多个文件名。再说白点,所谓链接无非是把文件名和计算机文件系统应用的节点号链接起来。因而咱们能够用多个文件名与同一个文件进行链接,这些文件名能够在同一目录或不同目录。在windows中

  • 1、硬连贯实用于在同一个卷的文件级别,不容许给目录创立硬链接;
  • 2、硬连贯是不能跨卷的,只有在同一文件系统中的文件之间能力创立链接

在C盘创立一个文件夹外面蕴含hello.txt文件

尝试在D盘创立硬链接

尝试给目录创立硬链接

给文件创建硬链接



文件内容如下

当我批改helloCopy之后


保留之后查看hello.txt文件

当我删除hello文件之后

helloCopy.txt是不会被删除的

查看.pnpm文件夹里的文件是否是硬链接

红框内的只有是几那么就证实计算机文件系统应用的节点号被创立了几次硬链接