MacOS pnmp多个项目同个包,为什么没有共享存储空间?

后端1 min
#Node#pnpm
目录(4)

工作环境

OS: Mac OS 12.6 Monterey pnpm: 8.14.0

问题描述

npm => pnpm,在多个项目里通过 pnpm i 安装依赖,发现 node_modules 中的包和 .pnpm 里的包是硬链接相关,但是不同项目里的同版本包却不相干。

与 pnpm 官网描述的概念不一样。

解答

经过多方查证,是因为在 Mac OS 下,默认采用了 copy 模式在各个项目中下载包,需要手动指定下载模式。 方式是在 .npmrc 中追加

package-import-method=hardlink

相关链接

Running out of disk space on macos · Issue #6880 · pnpm/pnpm (github.com)

pnpm always links to local /node_modules/.registry.npmjs.org/ folder; ignores store-path config · Issue #794 · pnpm/pnpm (github.com)