pnpm config
别名: c
管理配置文件。
pnpm 设置分为两种类型的配置文件:
- 注册源和身份验证设置 存储在 INI 文件中——全局
rc文件和本地.npmrc文件。 - 所有其他 pnpm 设置 都位于 YAML 文件中——全局
config.yaml和每个项目pnpm-workspace.yaml。
本地工作区配置文件位于项目根目录,名为 pnpm-workspace.yaml。 全局 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
你还可以通过运行以下命令来获取全局配置文件的路径(v10.21.0 版本新增):
pnpm config get globalconfig
命令
set <key> <value>
将配置键设置为提供的值。
如果没有 --json 标志,它会将值解析为纯字符串:
pnpm config set --location=project nodeVersion 22.0.0
使用 --json 标志,它将值解析为 JSON:
pnpm config set --location=project --json nodeVersion '"22.0.0"'
--json 标志还允许 pnpm 配置集 创建数组和对象:
pnpm config set --location=project --json allowBuilds '{"react": true, "react-dom": true}'
pnpm config set --location=project --json catalog '{ "react": "19" }'
set 命令不接受属性路径。
get <key>
打印所提供键的配置值。
key 可以是一个简单的键:
pnpm config get nodeVersion
pnpm config get --json nodeVersion
pnpm config get --json packageExtensions
pnpm config get --json allowBuilds
pnpm config get --json catalog
它也可以是一个属性路径:
pnpm config get 'packageExtensions["@babel/parser"].peerDependencies["@babel/types"]'
pnpm config get --json 'packageExtensions["@babel/parser"].peerDependencies["@babel/types"]'
pnpm config get 'allowBuilds.react'
pnpm config get --json 'allowBuilds.react'
pnpm config get catalog.react
pnpm config get --json catalog.react
属性路径的语法模拟 JavaScript 属性路径。
delete <key>
从配置文件中删除配置键。
list
显示所有配置设置。 输出结果为 JSON 对象。
与身份验证相关的设置不会显示在输出中;请使用 pnpm config get <key> 显式读取它们。
自 v11 起, pnpm config get (不带 --json) 不再打印 INI 格式的文本。 它对对象和数组打印 JSON 格式,对字符串、数字、布尔值和空值打印原始字符串格式。 pnpm config get --json 将所有值打印为 JSON。 pnpm config list 总是打印一个 JSON 对象。
配置项
--global, -g
在全局配置文件中设置配置项。
--location
默认情况下, --location 设置为 global。
当设置为 project时,pnpm 会将该设置写入工作区根目录下的 pnpm-workspace.yaml 文件(或者,对于注册源/身份验证设置,写入工作区根目录下的 .npmrc 文件)。
当设置为 global 时,行为与传递 --global 选项相同。
--json
使 get 和 list 以 JSON 格式显示所有配置设置,并使 set 将值解析为 JSON。