发布于 2026-05-12 22:38:22

npm与pnpm的各种路径问题

AI火热,如今各类cli工具大多通过npm分发。如果单用npm的话还好,如果与pnpm混用,就可能会面临不知道执行的是哪里的cli的问题。这里把npm和pnpm的各类路径一次性讲清楚。

  • npm
    • 下载包的cache目录
      • 查询命令:npm config get cache
      • 常见路径举例:~/.npm
    • 环境安装路径(所有资源的路径,包括node、npm本身)
      • 查询命令:npm config get prefix
      • 常见路径举例:~/.local/share/fnm/node-versions/v24.15.0/installation
    • 全局包的二进制目录(在安装路径下的bin目录中)
      • 路径:$(npm config get prefix)/bin
      • 常见路径举例:~/.local/share/fnm/node-versions/v24.15.0/installation/bin
    • 全局包的node_modules目录(在安装路径下的lib/node_modules目录中)
      • 查询命令:npm root -g
      • 常见路径举例:~/.local/share/fnm/node-versions/v24.15.0/installation/lib/node_modules
  • pnpm
    • 全局存储目录(所有资源的统一存储位置)
      • 查询命令:pnpm store path
      • 常见路径举例:~/.local/share/pnpm/store/v11

      Note

      由于pnpm采用硬链接方式管理资源,如果项目与默认的全局存储目录不在同一个磁盘,在没有单独配置store-dir的情况下,会在项目所在磁盘根目录做本磁盘下的全局存储,例如/mnt/d/.pnpm-store/v11

    • 全局包的二进制目录
      • 路径:pnpm bin -g
      • 常见路径举例:~/.local/share/pnpm/bin
    • 全局包的node_modules目录(实际目录在下面这个目录的xxx-xxx/node_modules目录下)
      • 查询命令:pnpm root -g
      • 常见路径举例:~/.local/share/pnpm/global/v11

欢迎留言