Web

pnpm 关掉 syslink

Posted by Kerwen Blog on September 12, 2024

相比于npm,pnpm 能显著提高包的下载速度。但如果查看node module文件夹,会发现很多module文件夹都带了link图标。这是因为pnpm使用了syslink,不管你有多少个project使用了这个module,pnpm只下载一份,然后用syslink将其连接到所需要的project中。
可以使用命令pnpm store path来查看pnpm的缓存文件夹。
使用以下命令来清空缓存

1
pnpm store prune

Syslink能减少空间占用,这在多project的情况下带来的好处不言而喻。但在某些情况下,可能想禁掉syslink,将所有的module都完整下载下来,这也可以做到。在project root下新建一个.npmrc文件,在文件中添加以下配置:

1
node-linker=hoisted

删掉node modules,重新pnpm install

注意: pnpm这个功能是从v7.13开始有的,如果你的pnpm版本过低,建议升级到7.13以上版本。