From 109026d22fded9c927e0620181ec0f45758a1db1 Mon Sep 17 00:00:00 2001 From: coreybutler <770982+coreybutler@users.noreply.github.com> Date: Fri, 23 Oct 2026 10:15:11 -0500 Subject: [PATCH] docs: NVM4306 uses trust module not reshim Refs nvm-windows/nvm#1403 --- docs/command/global-module-shims.md | 2 +- docs/command/package-manager-shims.md | 2 +- docs/troubleshooting/error-codes.md | 2 +- .../current/command/global-module-shims.md | 2 +- .../current/command/package-manager-shims.md | 2 +- .../current/troubleshooting/error-codes.md | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/docs/command/global-module-shims.md b/docs/command/global-module-shims.md index 5192379..35c4d58 100644 --- a/docs/command/global-module-shims.md +++ b/docs/command/global-module-shims.md @@ -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 `. `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 diff --git a/docs/command/package-manager-shims.md b/docs/command/package-manager-shims.md index 70f4ee6..d794a44 100644 --- a/docs/command/package-manager-shims.md +++ b/docs/command/package-manager-shims.md @@ -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 `. `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). diff --git a/docs/troubleshooting/error-codes.md b/docs/troubleshooting/error-codes.md index 8eca186..5edd76d 100644 --- a/docs/troubleshooting/error-codes.md +++ b/docs/troubleshooting/error-codes.md @@ -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 `. `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 ` | | **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 | diff --git a/i18n/ru/docusaurus-plugin-content-docs/current/command/global-module-shims.md b/i18n/ru/docusaurus-plugin-content-docs/current/command/global-module-shims.md index 30418d2..71f4213 100644 --- a/i18n/ru/docusaurus-plugin-content-docs/current/command/global-module-shims.md +++ b/i18n/ru/docusaurus-plugin-content-docs/current/command/global-module-shims.md @@ -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 `. Одного `nvm reshim` недостаточно, чтобы модуль оставался доверенным после следующего self-update. Подробнее: [Package Manager Shims — Integrity](/command/package-manager-shims#integrity-verification). ## Размещение diff --git a/i18n/ru/docusaurus-plugin-content-docs/current/command/package-manager-shims.md b/i18n/ru/docusaurus-plugin-content-docs/current/command/package-manager-shims.md index 8618425..edbda4e 100644 --- a/i18n/ru/docusaurus-plugin-content-docs/current/command/package-manager-shims.md +++ b/i18n/ru/docusaurus-plugin-content-docs/current/command/package-manager-shims.md @@ -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 `. Одного `nvm reshim` недостаточно, чтобы модуль оставался доверенным после следующего self-update. Также можно переустановить версию или выполнить `nvm doctor --autofix`. :::warning Одного доверия к `node.exe` недостаточно для менеджеров пакетов. Entrypoint-скрипты тоже должны совпадать со script trust cache (SEC-04). diff --git a/i18n/ru/docusaurus-plugin-content-docs/current/troubleshooting/error-codes.md b/i18n/ru/docusaurus-plugin-content-docs/current/troubleshooting/error-codes.md index 420cdb4..1b4d1ad 100644 --- a/i18n/ru/docusaurus-plugin-content-docs/current/troubleshooting/error-codes.md +++ b/i18n/ru/docusaurus-plugin-content-docs/current/troubleshooting/error-codes.md @@ -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 `. Одного `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`) |