配置
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 跨多个硬盘或文件系统工作, 请阅读 常见问题解答。
有关管理配置的更多信息,请参阅 配置 命令。