Перейти до основного змісту
Версія: Next

pnpm config

Псевдоніми: с

Керування файлами конфігурації.

Налаштування pnpm розподілені між двома типами файлів конфігурації:

  • Налаштування реєстру та автентифікації зберігаються у файлах INI: глобальному файлі rc та локальних файлах .npmrc.
  • Всі інші специфічні для pnpm налаштування зберігаються у файлах YAML: глобальному config.yaml та у кожному проєкті — pnpm-workspace.yaml.

Локальний файл налаштування робочого простору розташований у корені проєкту та має назву pnpm-workspace.yaml. Глобальний файл конфігурації YAML (config.yaml) знаходиться за адресою:

  • Якщо встановлено змінну $XDG_CONFIG_HOME env, то $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

Ви також можете отримати шлях до вашого глобального конфігураційного файлу, виконавши команду (додано у версії 10.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 config set створювати масиви та обʼєкти:

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 завжди виводить обʼєкт JSON.

Параметри

--global, -g

Встановити конфігурацію у файлі глобальної конфігурації.

--location

Стандартно для --location встановлено значення global.

Якщо встановлено значення project, pnpm записує налаштування до pnpm-workspace.yaml у кореневій теці робочої області (або, для налаштувань реєстру/автентифікації, до .npmrc у кореневій теці робочої області).

Якщо встановлено значення global, поведінка буде такою самою, як при передачі опції --global.

--json

Зробити так, щоб get і list показували всі налаштування конфігурації у форматі JSON, а set аналізував значення як JSON.