错误 MSB3411:无法加载 Visual C++ 组件“VCBuild.exe”

Posted

技术标签:

【中文标题】错误 MSB3411:无法加载 Visual C++ 组件“VCBuild.exe”【英文标题】:error MSB3411: Could not l oad the Visual C++ component "VCBuild.exe" 【发布时间】:2013-09-07 16:05:41 【问题描述】:

我有带有 SP1 和 Windows sdk 7.1 的 Visual Studio 2010。 我也有 VS2012 和 Windows kit 8。

当我运行 Windows SDK 7.1 Command Prompt 并运行 node-gyp build --msvs_version=2010 时,它给了我错误:

error MSB3411: Could not load the Visual C++ component "VCBuild.exe". 
If the component is not installed,
either 1) install the Microsoft Windows SDK for Windows Server 2008 and .NET Fr
amework 3.5, or 2) install Microsoft Visual Studio 2008.

它是否试图找到 VCBuild.exe。

我发现vcbuild has been replaced with msbuild。

这是一个有效的错误吗?

我还发现,在 Windows 7 中,对于 .NET 3.5,您只需从控制面板打开它。我查看了有关 *** 的其他问题,例如 here 和 this。

但问题是,由于 vcbuild.exe 在带有 vs2010 的系统中不存在,那么为什么 node-gyp 正在搜索它?还是我错过了什么?

我该如何解决这个错误?

【问题讨论】:

MSB3411 Could not load Visual C++ component的可能重复 或者***.com/questions/14278417/…也许 问题是 vcbuild.exe 在 Visual Studio 2010 中不存在,那么为什么 node-gyp 会搜索它? 【参考方案1】:

这可以通过使用 Microsoft 的 windows-build-tools 从提升的 cmd(以管理员身份运行)使用 npm install --global --production windows-build-tools 安装所有必需的工具和配置来解决。

【讨论】:

试过上面的评论,还是一样的错误。【参考方案2】:

您所有问题的答案都在于here。费了好大劲才找到这个。终于让它工作了。 =)

只是为了节省您访问该链接的时间,该链接的用处如下。

说明:

你可以用 npm 安装:

$ npm install -g node-gyp

您还需要安装:

在 Unix 上:

python(推荐v2.7,不支持v3.x.x)

制作合适的 C/C++ 编译器工具链,如 GCC

在 Windows 上:

Python(推荐 v2.7.3,不支持 v3.x.x)

Windows XP/Vista/7:Microsoft Visual Studio C++ 2010(快捷版 效果很好)

对于节点和本机模块的 64 位版本,您还需要 Windows > 7 64位SDK

如果安装失败,

尝试卸载您拥有的任何 C++ 2010 x64&x86 Redistributable 先安装。

如果您收到未安装 64 位编译器的错误,您可以 还需要 Windows SDK 7.1 的编译器更新

Windows 7/8:

Microsoft Visual Studio C++ 2012/13 for Windows Desktop (Express 版本运行良好)

如果您安装了多个 Python 版本, 您可以通过设置 '--python' 变量:

$ node-gyp --python /path/to/python2.7

如果通过 npm 调用 node-gyp 并且您有多个版本的 安装了 Python,然后您可以将 npm 的 'python' 配置键设置为 合适的值:

$ npm config set python /path/to/executable/python2.7

【讨论】:

好的。我没有点击它来找出答案。相反,我在一个单独的线程上找到了这个,所以想与我在搜索中访问过的每个链接分享它。 如果您能详细说明您的发现,我们将不胜感激。在 SO 中不鼓励只提供链接。如果您找到更多信息并且给定的答案在您的情况下不起作用..该信息将不胜感激。 当然是阿努拉格。下次我在 SO 中回答任何问题时会记住这一点。谢谢你的提示。 =)【参考方案3】:

以下内容对我有用(截至 2014 年 6 月),如 here 中所述。

安装免费的 Visual Studio Express 2013 for Windows(不是 VS Express 2013 for Web)

npm install --msvs_version=2013

否则,我花了很多时间安装旧的 Microsoft 软件包和补丁,但没有任何帮助。

【讨论】:

非常有用!谢谢。 谢谢,它对我有用,但 Windows 7 x64 需要“Express 2013 for Windows Desktop”代替。 npm config --global set msvs_version 2013 也可能有用。 谁有 Visual Studio Express 2013 for Windows 的链接?我只能找到一个不起作用的。在 VS 网站上,它为 windows 表示“即将推出”。 Sooo 受够了 VS。【参考方案4】:

设置node-gyp wiki中列出的VS2010和其他应用程序解决了这些问题。

在 Windows XP/Vista/7 上,node-gyp 需要 Python 2.7 和 Visual Studio 2010

根据 Microsoft Visual C++ 2010 Service Pack 1 Compiler Update for Windows SDK 7.1 中的自述文件,确保您的系统具有受支持的配置,

先卸载以下产品(如果您想节省大量时间)

然后按照列出的顺序重新安装它们:(您可以按任何顺序卸载:P)

Visual Studio 2010

Windows SDK 7.1

Visual Studio 2010 SP1

Visual C++ 2010 SP1 Compiler Update for the Windows SDK 7.1

在 x64 环境中,列表中的最后一个更新修复了有关缺少编译器的错误和

error MSB4019: The imported project "C:\Microsoft.Cpp.Default.props" was not found.

【讨论】:

这对我有用;当我尝试在我的 Win7 系统上安装 Karma (testacular) 时遇到这个问题时,我什至根本没有 Visual Studio。 @Ashish Negi 和 Visual Studio 2010 和 Visual Studio 2010 Professional 一样吗? 我认为VS 2010 express 是免费的。如果你有professional,那也很好。 如果使用 VS Express,请注意您需要 VS Express 桌面版。 VS Express for Web 不工作

以上是关于错误 MSB3411:无法加载 Visual C++ 组件“VCBuild.exe”的主要内容,如果未能解决你的问题,请参考以下文章

MSBUILD:错误 MSB3428:无法加载 Visual C++ 组件“VCBuild.exe”

MSB3021 在 Visual Studio 中运行 Service Fabric 应用时无法复制文件找不到部分路径错误

当代码在 Visual Studio C++ 中正常工作时出现 MSB6006 错误

npm error MSB3428: 未能加载 Visual C++ 组件“VCBuild.exe”。要解决此问题,1) 安装

npm error MSB3428: 未能加载 Visual C++ 组件“VCBuild.exe”。要解决此问题,1) 安装

Visual Studio 2015 中的错误:错误 MSB4166:子节点“3”过早退出。关机