pnpm doctor

Виконує діагностику встановлення pnpm та середовища, в якому він працює.

pnpm doctor [--offline] [--benchmark] [--json]

Кожна перевірка містить вказівки щодо усунення виявлених проблем, і при невдачі хоча б однієї перевірки команда завершується з кодом, відмінним від нуля. Попередження не призводять до збою виконання команди.

✓ Versions: pnpm 12.3.4, Node.js 22.20.0
✓ Install method: pnpm
✓ Global bin directory: /Users/example/Library/pnpm/bin
✓ Cache directory: /Users/example/Library/Caches/pnpm
✓ Store directory: /Users/example/Library/pnpm/store/v11
✓ Filesystem: available: reflink, hardlink, symlink
✓ Registry connectivity: https://registry.npmjs.org/ (128ms)
✓ Install smoke test: offline "file:" install linked its dependency

All checks passed

Перевірки#

Версії#

Повідомляє про запущені версії pnpm і Node.js.

Метод встановлення#

Reports pnpm as the install method and warns when pnpm is being run by Corepack, which manages the pnpm version itself and makes pnpm self-update unavailable.

Глобальна тека bin#

Checks that the directory pnpm links global executables into is on PATH and writable. If it is missing from PATH, the fix is to run pnpm setup.

Тека кешу#

Checks that the cache directory is writable.

Тека сховща#

Checks that the store directory is writable. When no store directory is configured, the check runs against the default store.

Файлова система#

Перевіряє, які стратегії створення посилань застосовуються залежно від тому сховища: reflink (копіювання при записі), hardlink та symlink. This is what determines how packages land in node_modules and how fast an install is. A reflink or hardlink is near-free, a plain copy is not.

Якщо не працює ані reflink, ані hardlink, система попереджає, що під час встановлення буде використано копіювання, і пропонує розмістити сховище в тій самій файловій системі, що й ваші проєкти.

Звʼязок із реєстром#

Виконує тест на доступність налаштованого запису реєстру з тайм-аутом у 15 секунд і повідомляє час проходження сигналу туди й назад. Операція завершується невдачею, якщо доступ до реєстру неможливий або він повертає код помилки, що зазвичай вказує на проблеми з налаштуваннями мережі, проксі-сервера або автентифікації.

Skipped with --offline.

Тест перевірки встановлення#

Installs a throwaway package as a file: dependency, entirely offline, in a temporary directory. Це дозволяє перевірити шлях (resolve, store та link) від початку до кінця і підтвердити, що запущений бінарний файл дійсно може виконати інсталяцію.

This check is always offline by construction, so --offline does not skip it.

Параметри#

--offline#

Оминати перевірки, для яких потрібен доступ до мережі.

--benchmark#

Також вимірювати час виконання перевірок файлової системи та інсталяції, вказуючи тривалість поруч із кожним результатом.

--json#

Виводити результати в JSON. The output is an object with a single checks array, each entry having title, status (pass, warn, or fail), and optionally detail, fix, and durationMs.

{
  "checks": [
    {
      "title": "Filesystem",
      "status": "pass",
      "detail": "available: reflink, hardlink, symlink",
      "durationMs": 3
    }
  ]
}