如何让 pnpm 对全局目录使用符号链接?

How to make pnpm use symlinks for a global directory?

我开始在我的 Electron 项目中使用 pnpm,因为它比 npmyarn 更快。据我所知,它首先在 project/node_modules/.pnpm 中创建所有模块,project/node_modules 中的所有包都引用 .pnpm 目录中的模块。

这已经是一个进步了,但是有没有办法把.pnpm放在外面?

目前我的 Gitlab runner 删除了每个管道的 node_modules 和包含的 .pnpm 目录。在那种情况下,它将有一个全局项目 node_modules 目录,我可以保留许多管道。谢谢!

node_modules/.pnpm目录称为虚拟存储目录。可以通过设置 virtual-store-dir 设置来更改其位置。

虚拟存储目录中的文件只是指向内容可寻址存储的硬链接。我不认为你需要缓存这个目录的内容。您需要缓存全局存储(内容可寻址存储)。默认情况下,全局存储位于 ~/.pnpm-store。它的位置可以通过 store-dir 设置来改变。