Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion docs/command/global-module-shims.md
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@ Global shims use the same fail-closed trust path as package managers:
| Delegated `.cmd` / `.bat` / `.exe` | Script trust cache (SHA-256 + TPM-signed entry) or verify-cache for `.exe` — failure → **NVM4306** |
| Untrusted self-update | Entrypoint change while not on `TrustedModules` → **NVM4406** audit (deny / allow / prompt); see [Firewall](/guide/firewall) |

Trust entries are written at install, activation, and reshim. Details: [Package Manager Shims — Integrity](/command/package-manager-shims#integrity-verification).
Trust entries are written at install, activation, and reshim. If a global CLI self-update is blocked (**NVM4306**), run `nvm firewall trust module <name>`. `nvm reshim` alone does not keep the module trusted after the next self-update. Details: [Package Manager Shims — Integrity](/command/package-manager-shims#integrity-verification).

## Layout

Expand Down
2 changes: 1 addition & 1 deletion docs/command/package-manager-shims.md
Original file line number Diff line number Diff line change
Expand Up @@ -100,7 +100,7 @@ Same verify-cache / Authenticode path as the [node shim](/command/node). Cache s
| Delegated `.exe` | Same verify-cache path used for `node.exe` |
| Delegated `.cmd` / `.bat` | SHA-256 + TPM-signed script trust cache entry |

Trust entries are written when versions are installed, activated, or reshimed (`SignVersionScripts` / `nvm` sign hooks). If a script changed since it was trusted, or no trust entry exists, launch is blocked (**NVM4306**). Remedy: `nvm reshim`, reinstall the version, or `nvm doctor --autofix` as appropriate.
Trust entries are written when versions are installed, activated, or reshimed (`SignVersionScripts` / `nvm` sign hooks). If a script changed since it was trusted, or no trust entry exists, launch is blocked (**NVM4306**). If you trust the change, run `nvm firewall trust module <name>`. `nvm reshim` alone does not keep the module trusted after the next self-update. You can also reinstall the version or run `nvm doctor --autofix` as appropriate.

:::warning
`node.exe` trust alone is not enough for package managers. Entrypoint scripts must also match the script trust cache (SEC-04).
Expand Down
2 changes: 1 addition & 1 deletion docs/troubleshooting/error-codes.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ NVM for Windows uses stable `NVM####` codes in CLI messages, shim/proxy output,
| **NVM4303** | Verify-cache state changed | Trusted verify-cache material for a Node binary no longer matches; NVM requires a full verification pass before trusting the binary again |
| **NVM4304** | Full verification recovered | Informational follow-up after **NVM4303**: full verification succeeded and the cache was restored |
| **NVM4305** | Package-manager launch blocked (unsafe Node directory) | Proxy blocks `npm` / `yarn` / `pnpm` (and similar) because the active Node version directory fails cross-user write / trust checks; often fixed with `nvm doctor --autofix` or a private install root |
| **NVM4306** | Delegated command trust failed | Proxy refuses a package-manager or script entrypoint that is unknown, unsigned, or fails delegated-command trust checks |
| **NVM4306** | Delegated command trust failed | Proxy refuses a package-manager or script entrypoint that is unknown, unsigned, or fails delegated-command trust checks. If you trust the change, run `nvm firewall trust module <name>`. `nvm reshim` alone does not keep the module trusted after the next self-update. A toast timeout prints a no-answer message and posts a silent desktop notification. |
| **NVM4307** | Auto-install prompt failed | Shim could not read the yes/no prompt before `nvm install`. Run `nvm install <version>` |
| **NVM4308** | Auto-install could not find nvm.exe | Shim searched `NVM_HOME`, the shim directory, and `%LOCALAPPDATA%\Author Software\nvm`. Set `NVM_HOME` to the folder that contains `nvm.exe` |
| **NVM4309** | Auto-install could not start nvm.exe | `nvm.exe` was found, but the process did not start. The message includes that path |
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@ tsc --nvm-use=22 --version
| Делегированный `.cmd` / `.bat` / `.exe` | Script trust cache (SHA-256 + TPM-подпись) или verify-cache для `.exe` — отказ → **NVM4306** |
| Недоверенный self-update | Смена entrypoint вне `TrustedModules` → аудит **NVM4406** (deny / allow / prompt); см. [Firewall](/guide/firewall) |

Записи доверия пишутся при install, activation и reshim. Подробнее: [Package Manager Shims — Integrity](/command/package-manager-shims#integrity-verification).
Записи доверия пишутся при install, activation и reshim. Если self-update global CLI блокируется (**NVM4306**), выполните `nvm firewall trust module <name>`. Одного `nvm reshim` недостаточно, чтобы модуль оставался доверенным после следующего self-update. Подробнее: [Package Manager Shims — Integrity](/command/package-manager-shims#integrity-verification).

## Размещение

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -92,7 +92,7 @@ Shim блокирует запуск при провале проверок до
| Делегированный `.exe` | Тот же verify-cache путь, что для `node.exe` |
| Делегированный `.cmd` / `.bat` | SHA-256 + TPM-подписанная запись script trust cache |

Записи доверия пишутся при установке/активации версий или reshim (`SignVersionScripts` / хуки sign в `nvm`). Если скрипт изменился с момента доверия или записи нет — запуск блокируется (**NVM4306**). Исправление: `nvm reshim`, переустановка версии или `nvm doctor --autofix` по ситуации.
Записи доверия пишутся при установке/активации версий или reshim (`SignVersionScripts` / хуки sign в `nvm`). Если скрипт изменился с момента доверия или записи нет — запуск блокируется (**NVM4306**). Если вы доверяете изменению, выполните `nvm firewall trust module <name>`. Одного `nvm reshim` недостаточно, чтобы модуль оставался доверенным после следующего self-update. Также можно переустановить версию или выполнить `nvm doctor --autofix`.

:::warning
Одного доверия к `node.exe` недостаточно для менеджеров пакетов. Entrypoint-скрипты тоже должны совпадать со script trust cache (SEC-04).
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ NVM for Windows использует стабильные коды `NVM####` в
| **NVM4303** | Изменилось состояние verify-cache | Материал trusted verify-cache для Node-бинарника больше не совпадает; нужна полная повторная проверка |
| **NVM4304** | Полная проверка восстановлена | Информационное продолжение после **NVM4303**: полная проверка прошла, кэш восстановлен |
| **NVM4305** | Запуск package manager заблокирован (небезопасный каталог Node) | Proxy блокирует `npm` / `yarn` / `pnpm` (и аналоги), потому что каталог активной версии не проходит проверки cross-user write / trust; часто помогает `nvm doctor --autofix` или частный install root |
| **NVM4306** | Сбой доверия к делегированной команде | Proxy отклоняет entrypoint package manager или скрипт: неизвестный, без подписи или не проходит delegated-command trust |
| **NVM4306** | Сбой доверия к делегированной команде | Proxy отклоняет entrypoint package manager или скрипт: неизвестный, без подписи или не проходит delegated-command trust. Если вы доверяете изменению, выполните `nvm firewall trust module <name>`. Одного `nvm reshim` недостаточно, чтобы модуль оставался доверенным после следующего self-update. При таймауте toast NVM печатает сообщение no-answer и шлёт тихое desktop-уведомление. |
| **NVM4401** | Удалённый firewall authority: unauthorized | HTTPS policy URL вернул **401**; remote отказал в доступе этому пользователю/клиенту |
| **NVM4402** | Сбой удалённой проверки firewall | HTTPS policy URL: TLS failure, неожиданный HTTP-статус или ошибка helper/config |
| **NVM4403** | Module firewall заблокировал установку | Локальный или удалённый **403** policy deny (`ApprovedModules` / `ApprovedGlobalModules`) |
Expand Down
Loading