Node.js 24 (LTS) 在 Windows 上放弃 MSVC — 现在需要 ClangCL 来构建 Node 和本地模块

Node.jsDevOpsWindows本地插件CI

关键更新

Node.js 24 于 2025 年 10 月 28 日进入 LTS,Node.js 项目移除了在 Windows 上构建 Node 的官方 MSVC 支持:现在编译 Node 及其本地组件的支持 Windows 工具链是 ClangCL。此更改是 Node 24 发布的一部分,影响任何从源代码构建 Node 或在 Windows 上编译本地插件的用户。

为什么这很重要

这是一个实际的、非外观上的更改,可能会破坏或复杂化现实世界的开发者工作流程。依赖于 Visual Studio 构建工具(MSVC/MSBuild)来编译 Node、node-gyp 或本地 npm 模块的工具和 CI 必须切换到基于 ClangCL 的工具链或使用官方预构建的二进制文件。预计需要:更新 Windows CI 镜像和运行器以安装 Clang/ClangCL 及匹配的 Windows SDK;重建并测试所有本地插件(ABI/CRT 差异可能会暴露错误或未定义行为);验证构建工具,如 node-gyp、本地构建脚本和预构建管道是否与 ClangCL 兼容;并在本地依赖项在暂存环境中得到验证之前,固定生产 Node 二进制文件。

团队的可操作优先事项:首先,使用官方 Node 24 LTS 二进制文件对您的生产应用程序和所有本地依赖项进行冒烟测试;其次,如果您在 Windows 上的 CI 中构建 Node 或本地模块,请用 ClangCL 镜像替换 MSVC 镜像,并运行完整的本地测试矩阵;第三,如果您分发本地二进制文件,请在预构建管道中添加 ClangCL 构建目标,并将新的 Windows 兼容性要求传达给下游消费者。如果立即切换工具链不可行,请继续使用 Node 项目提供的 Node 二进制文件(不从源代码构建),同时进行验证和迁移。

来源

继续阅读