npm install socket.io 提示缺少“VCBuild.exe”,一定要装VS C++吗?
发布于 11 年前 作者 anuxs 63078 次浏览 最后一次编辑是 8 年前

如下提示:

d:\Dev\node.js\test\hello\node_modules\socket.io\node_modules\socket.io-client
ode_modules\ws>node “c:\Program Files\nodejs\node_modules\npm\bin\node-gyp-bin
…\node_modules\node-gyp\bin\node-gyp.js” rebuild 在此解决方案中一次生成一个项目。若要启用并行生成,请添加“/m”开关。 MSBUILD : error MSB3428: 未能加载 Visual C++ 组件“VCBuild.exe”。要解决此问题,

  1. 安装 .NET Fram ework 2.0 SDK;2) 安装 Microsoft Visual Studio 2005;或 3) 如果将该组件安装到了 其他位置,请将其位置添加到系统 路径中。 [d:\Dev\node.js\test\hello\node_modules\socket.io\node_modules\socket. o-c lient\node_modules\ws\build\binding.sln] MSBUILD : error MSB3428: 未能加载 Visual C++ 组件“VCBuild.exe”。要解决此问题,
  2. 安装 .NET Fram ework 2.0 SDK;2) 安装 Microsoft Visual Studio 2005;或 3) 如果将该组件安装到了 其他位置,请将其位置添加到系统 路径中。 [d:\Dev\node.js\test\hello\node_modules\socket.io\node_modules\socket. o-c lient\node_modules\ws\build\binding.sln] socket.io@0.9.13 node_modules\socket.io

之前提示python不存在,装了ActivePython2.7.2,然后提示没有VCBuild.exe,一定要装才能编译这些需要编译的扩展吗?

19 回复

之前装别的扩展都没有问题,具体是安装jsdom的时候提示缺少python,装了ActivePython之后装任何扩展都是这个问题了。

刚看了node-gyp的要求: https://github.com/TooTallNate/node-gyp

On Windows: Python (v2.7.3 recommended, v3.x.x is not supported) Windows XP/Vista/7: Microsoft Visual Studio C++ 2010 (Express version works well) For 64-bit builds of node and native modules you will also need the Windows 7 64-bit SDK If the install fails, try uninstalling any C++ 2010 x64&x86 Redistributable that you have installed first. If you get errors that the 64-bit compilers are not installed you may also need the compiler update for the Windows SDK 7.1 Windows 8: Microsoft Visual Studio C++ 2012 for Windows Desktop (Express version works well)

看来编译工具是必须的了。

你好,请问这个问题如何解决的。 我是在写扩展的时候遇到的。 另外我装了 Microsoft Visual Studio C++ 2012

这个问题好像还没人回答,我也遇到了这个问题,我本机安装了.NET Framework,是不是需要将Framework的位置添加到环境变量中啊!试一下

我装的.NET Fram ework 2.0 SDK,path里加上 C:\Program Files\Microsoft Visual Studio 8\VC\vcpackages

我也找了半天,我机器上装的是vs2012,就是转换可能会有问题,从2008到2012

更新的强制指定吧,比如用vs2012 npm config set msvs_version 2012 --global

node很作的:( 安装个VS要准备10G硬盘了。。。

用 2012 比较好

今天装mongodb也遇到这个问题,目前还没解决,如果要装VS那就太悲剧了。。

D:\WorkSpace\NodejsProjects\microblog\node_modules\mongodb\node_modules\mongodb-c ore\node_modules\kerberos>if not defined npm_config_node_gyp (node “D:\Support\no dejs\node_modules\npm\bin\node-gyp-bin\…\node_modules\node-gyp\bin\node-gyp. js” rebuild ) else (node rebuild ) Building the projects in this solution one at a time. To enable parallel build, p lease add the “/m” switch. MSBUILD : error MSB3428: 未能加载 Visual C++ 组件“VCBuild.exe”。要解决此问题,1 ) 安装 .NET Frame work 2.0 SDK;2) 安装 Microsoft Visual Studio 2005;或 3) 如果将该组件安装到了其 他位置,请将其位置添加到系统路径 中。 [D:\WorkSpace\NodejsProjects\microblog\node_modules\mongodb\node_modules\mon g odb-core\node_modules\kerberos\build\binding.sln] mongodb@2.0.41 node_modules\mongodb ├── es6-promise@2.1.1 ├── readable-stream@1.0.31 (isarray@0.0.1, string_decoder@0.10.31, inherits@2. 0.1, core-util-is@1.0.1) └── mongodb-core@1.2.10 (bson@0.4.11, kerberos@0.0.12)

果断转 linux/macosx。windows 坑太多。

最好把vs装上 这些库用了底层的东西 需要rebuild 自豪地采用 CNodeJS ionic

这个好像在window上是必须的吧。。关于一些底层的东东。装了也没什么啊

用Ubuntu 等Linux吧, 以后发布项目你不会也要用Windows吧?Windows做服务器很烂

@tcheycom 请问如果是2015怎么指定啊,我按照你的方式npm config set msvs_version 2015 --global会报错哦,而且是不是 2012在哪定义的。

https://github.com/nodejs/node-gyp 1.jpg

用到node-gyp在window上必须安装的东西,请翻译细看

遇到同样的问题,╮(╯▽╰)╭ QQ截图20160821161422.png

我在这边看到了一个可能可行的方案 https://github.com/nodejs/node-gyp/issues/307#issuecomment-240556824 这里说,管理员方式执行 npm install --global --production windows-build-tools

有一些好像可以直接用cnpm安装 cnpm把一些包的二进制文件都镜像了

@boxsnake 友情提示。。。可能需要C盘比较空。。。 我7个G空间一下子没了 看看能不能改路径吧。。我已经装在C盘 https://www.npmjs.com/package/windows-build-tools

回到顶部