MSBUILD : error MSB3428: 未能加载 Visual C++ 组件“VCBuild.exe”

一、问题描述

在运行npm run dev命令时,遇到MSBUILD : error MSB3428: 未能加载 Visual C++ 组件“VCBuild.exe”错误:

MSBUILD : error MSB3428: 未能加载 Visual C++ 组件“VCBuild.exe”。
要解决此问题,1) 安装 .NET Framework 2.0 SDK;2) 安装 Microsoft Visual Studio 2005;或 3) 如果将该组件安装到了其他位置,请将其位置添加到系统路径中。

在这里插入图片描述

二、解决方案

1.问题原因:

缺少windows构建插件

2.问题解决:

全局安装windows构建工具,执行如下命令:

npm install --global --production windows-build-tools

这里有可能在安装的时候,安装到 python 这一步的时候卡住:

> [email protected] postinstall D:
pm
ode_moduleswindows-build-tools
> node ./dist/index.js
Downloading python-2.7.15.amd64.msi
[>                                            ] 0.0% (0 B/s)
Downloaded python-2.7.15.amd64.msi. Saved to C:Usersxxx.windows-build-toolspython-2.7.15.amd64.msi.
Downloading vs_BuildTools.exe
[>                                            ] 0.0% (0 B/s)
Downloaded vs_BuildTools.exe. Saved to C:Usersxxx.windows-build-toolsvs_BuildTools.exe.

Starting installation...
Launched installers, now waiting for them to finish.
This will likely take some time - please be patient!

Status from the installers:
---------- Visual Studio Build Tools ----------
Still waiting for installer log file...
------------------- Python --------------------
Successfully installed Python 2.7

此时可以尝试打开 windows-build-tools的安装目录:
C:Usersxxx.windows-build-tools

在这里插入图片描述

双击打开vs_BuildTools.exe文件:

在这里插入图片描述
在这里插入图片描述

勾选 Visual c++ 生成工具选项,点击安装按钮,等待进度条走完后安装完成。

如果C:Usersxxx.windows-build-tools找不到vs_BuildTools.exe文件或者无法正常运行,则可以尝试采用下面的方式:

打开https://visualstudio.microsoft.com/zh-hans/downloads/,然后拉到最后,展开 用于 Visual Studio 的工具 条目,可以下载最新版本的 build-tool (中文名称为生成工具)。

在这里插入图片描述
但是如果想下载旧版本,就比较费劲(需要登录微软账号),还好从网上找到了微软未公开的 build tools 的直接下载地址。比如说 vs build tools 2017 版本,地址格式是:

https://visualstudio.microsoft.com/thank-you-downloading-visual-studio/?sku=BuildTools&rel=15

如果下载 2019 版本,只需要将链接中的 rel 参数改为 16 即可;下载 2022 版本,rel 参数为 17。鉴于笔者现在用的是 node 14,在之前电脑上搭配 2017 是没有问题的,所以直接下载 2017 版本。

另外一个支持的地址格式是:

https://aka.ms/vs/15/release/vs_BuildTools.exe

其中 15 就是上面链接的 rel 参数值。

下载后运行安装与上面类似。