Node.js 24 (LTS) убирает поддержку MSVC на Windows — теперь для сборки Node и нативных модулей требуется ClangCL

Node.jsDevOpsWindowsНативные аддоныCI

Основное обновление

Node.js 24 вошел в LTS 28 октября 2025 года, и проект Node.js убрал официальную поддержку MSVC для сборки Node на Windows: поддерживаемая сборочная цепочка для компиляции Node и его нативных компонентов теперь — ClangCL. Это изменение является частью релиза Node 24 и затрагивает всех, кто собирает Node из исходников или компилирует нативные аддоны на Windows.

Почему это важно

Это практическое, не косметическое изменение, которое может сломать или усложнить реальные рабочие процессы разработчиков. Инструменты и CI, которые полагались на инструменты сборки Visual Studio (MSVC/MSBuild) для компиляции Node, node-gyp или нативных npm модулей, должны перейти на сборочную цепочку на основе ClangCL или использовать официальные предварительно собранные бинарные файлы. Ожидайте: обновить образы и раннеры Windows CI для установки Clang/ClangCL и соответствующих Windows SDK; пересобрать и протестировать все нативные аддоны (различия ABI/CRT могут выявить ошибки или неопределенное поведение); проверить, работают ли инструменты сборки, такие как node-gyp, нативные скрипты сборки и предварительные конвейеры, с ClangCL; и зафиксировать производственные бинарные файлы Node до тех пор, пока нативные зависимости не будут проверены на стадии тестирования.

Приоритетные действия для команд: во-первых, проведите тестирование вашего производственного приложения и всех нативных зависимостей с использованием официального бинарного файла Node 24 LTS; во-вторых, если вы собираете Node или нативные модули в CI на Windows, замените образы MSVC на образы ClangCL и выполните полный тестовый матрицу для нативных модулей; в-третьих, если вы распространяете нативные бинарные файлы, добавьте цели сборки ClangCL в предварительные конвейеры и сообщите о новых требованиях к совместимости Windows downstream-потребителям. Если переход на новую сборочную цепочку не представляется возможным в краткосрочной перспективе, продолжайте использовать бинарные файлы Node, предоставленные проектом Node (не собирая из исходников), пока вы проводите валидацию и миграцию.

Источник

Читать дальше