Перейти до основного вмісту
Версія: 11.x

pnpm doctor

Додано у: v11.14.0

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

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

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

✓ Versions: pnpm 11.14.0, 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/v10
✓ 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 how pnpm was installed — as the pnpm package or the @pnpm/exe standalone build — 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. Перевірка пропускається, якщо теку сховища не налаштовано.

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

Перевіряє, які стратегії створення посилань застосовуються залежно від тому сховища: 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
}
]
}