如何获取pnpm store目录

How to get pnpm store directory

有什么方法可以查看 pnpm 商店的 directory/path 吗?

我知道你可以用 npm config set store /path/to/.pnpm-store 设置它,但是 npm config get store 在我的例子中 returns undefined,我想这意味着 pnpm 使用一些默认值,但是我在哪里可以找到这个默认值?

好像从v3.0.1开始,你无法获取它。 pnpm 应该更新 pnpm get store 以便它 returns 默认位置。

从 v3 开始,pnpm 商店默认位于 ~/.pnpm-store

您也可以在项目中打开文件 node_modules/.modules.yaml。它将包含一个名为“商店”的字段,其中包含用于将包硬链接到您的项目的商店的位置。

2022 年更新:

从 v7 开始,您可以 运行 pnpm store path 在您的项目目录中,它将打印项目使用的存储。

可能的位置:

  • ~/.pnpm-store
    如果项目在 用户主目录 .
  • 相同的 分区上
  • $partition_root/.pnpm-store
    如果项目在 不同 分区上作为 user home.

为什么不直接使用 ~/.pnpm-store:

  • 在 linux/mac 上,pnpm 使用 hard link 重用文件。
  • 和硬盘link,只能在同一个分区上创建。

现在你可以做到

pnpm store path

根据 pnpm 的文档:

Returns the path to the active store directory.

以前,pnpm 商店位于用户主文件夹中。

Linux   : ~/.pnpm-store
Windows : C:\Users\YOUR_NAME\.pnpm-store
macOS   : ~/.pnpm-store

但从现在开始 (v7.0.0), pnpm store is located on different folder. it will located on $XDG_DATA_HOME on Linux, and %LOCALAPPDATA% on Windows. take a look to this issue.

Linux   : ~/.local/share/pnpm/store (default)
Windows : C:\Users\YOUR_NAME\AppData\Local\pnpm\store
macOS   : ~/Library/pnpm/store

或者,您可以使用 pnpm store path 命令

检查位置