跳到主内容
版本:Next

配置

pnpm 设置分为两类:

  • 注册表和认证设置 存储在 INI 文件中:全局的 rc 文件和本地的 .npmrc 文件。
  • pnpm 特定设置 存储在 YAML 文件中:全局 config.yaml 和本地 pnpm-workspace.yaml

pnpm 不再从 rc 文件中读取非身份验证和非注册表设置。 其他设置必须在 pnpm-workspace.yaml 或全局 config.yaml 中定义。

pnpm 也不再读取 pnpm package.json 的设置。 设置应在 pnpm-workspace.yaml 中定义。

本地项目配置

项目级设置位于 pnpm-workspace.yaml

pnpm-workspace.yaml
nodeVersion: "22"
saveExact: true

全局配置

全局 YAML 配置文件(config.yaml)位于以下路径之一:

  • 如果设置了 $XDG_CONFIG_HOME 环境变量,则为 $XDG_CONFIG_HOME/pnpm/config.yaml
  • 在 Windows 系统上: ~/AppData/Local/pnpm/config/config.yaml
  • 在 macOS 上: ~/Library/Preferences/pnpm/config.yaml
  • 在 Linux 系统上: ~/.config/pnpm/config.yaml

全局 rc 文件(仅用于注册源和身份验证设置)位于:

  • 如果设置了 $XDG_CONFIG_HOME 环境变量,则为 $XDG_CONFIG_HOME/pnpm/rc
  • 在 Windows 上:~/AppData/Local/pnpm/config/rc
  • 在 macOS 上:~/Library/Preferences/pnpm/rc
  • 在 Linux 上:~/.config/pnpm/rc

环境变量

名称以 pnpm_config_ 开头的环境变量将被加载到配置中。 这些会覆盖 pnpm-workspace.yaml 中的设置,但不会覆盖 CLI 参数。

示例:

pnpm_config_save_exact=true pnpm add foo

如果你需要 pnpm 跨多个硬盘或文件系统工作, 请阅读 常见问题解答

有关管理配置的更多信息,请参阅 配置 命令