为了账号安全,请及时绑定邮箱和手机立即绑定

无法在Windows 7 x64 / VS2012上安装需要编译的节点模块

/ 猿问

无法在Windows 7 x64 / VS2012上安装需要编译的节点模块

慕仰8121524 2020-02-04 14:34:31

我无法安装任何需要编译的模块。它们全部失败,并出现以下错误:


MSBUILD : error MSB3411: Could not load the Visual C++ component "VCBuild.exe". ...

我的环境:


Windows 7 Enterprise x64版本6.1.7601

节点x86 0.8.16

npm 1.2.0

节点gyp 0.8.2

Visual Studio 2012和众多软件包

相关环境变量:


Path=C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShel l\v1.0;C:\Program Files\TortoiseGit\bin;C:\Program Files\Microsoft\Web Platform Installer\;C:\Program Files (x86)\Microsoft ASP.NET\ASP.NET Web Pages\v1.0\;C:\Program Files (x86)\Windows Kits\8.0\Windows Performance Toolkit\;C:\Program Files\Microsoft SQL Server\110\Tools\Binn\;c:\tools;c:\tools\node

没有INCLUDE,LIB,LIBPATH等。


我对该问题进行了简短的调查,发现通过以下设置,手动克隆的git://github.com/einaros/ws.git的手动编译(直接调用VCBuild.exe和msbuild.exe)成功完成:


SET Configuration=Release

SET PATH=%ProgramFiles(x86)%\Microsoft Visual Studio 9.0\VC\vcpackages

SET PATH=%ProgramFiles(x86)%\Microsoft Visual Studio 11.0\VC\bin;%PATH%

SET PATH=%ProgramFiles(x86)%\Microsoft Visual Studio 11.0\Common7\IDE;%PATH%

SET PATH=%ProgramFiles(x86)%\Microsoft SDKs\Windows\v7.1A\Bin;%PATH%

SET PATH=%SystemRoot%\system32;%PATH%


SET INCLUDE=%ProgramFiles(x86)%\Microsoft Visual Studio 11.0\VC\include

SET INCLUDE=%ProgramFiles(x86)%\Microsoft SDKs\Windows\v7.1A\Include;%INCLUDE%


SET LIB=%ProgramFiles(x86)%\Microsoft SDKs\Windows\v7.1A\Lib

SET LIB=%ProgramFiles(x86)%\Microsoft Visual Studio 11.0\VC\lib;%LIB%


SET MSBUILD="%SystemRoot%\Microsoft.NET\Framework\v4.0.30319\msbuild.exe"


VCBuild.exe C:\Tools\node\ws\build\bufferutil.vcproj "Release|Win32" /useenv

VCBuild.exe C:\Tools\node\ws\build\validation.vcproj "Release|Win32" /useenv

%MSBUILD% build/binding.sln /verbosity:diagnostic /nologo /p:Configuration=Release;Platform=Win32

我试图用相同的变量调用node-gyp,但失败了:

C:\!> git clone https://github.com/einaros/ws.git

C:\!> cd ws

C:\!\ws>node-gyp configure

...


查看完整描述

3 回答

?
幕布斯7119047

尝试-将全局设置:

npm config set msvs_version 2012 --global


查看完整回答
反对 回复 2020-02-04
?
jeck猫

要在没有安装VS2010的情况下(仅限2012年)执行此操作,请设置msvs_version标志:


node-gyp rebuild --msvs_version=2012


npm install <module> --msvs_version=2012


按照@Jacob的评论


npm install --msvs_version=2013 如果您有2013版


查看完整回答
反对 回复 2020-02-04
?
慕码人2483693

更新v3:https: //www.npmjs.com/package/windows-build-tools


npm install --global Windows-build-tools


下载并安装Microsoft免费提供的Visual C ++ Build Tools 2015。这些工具是编译流行的本机模块所必需的。它还将安装Python 2.7,适当配置您的计算机和npm。


更新v2:


node-gyp更新了其自述文件,以包括针对Windows的HOW-TO


原版的:


无需整个Visual Studio,您只需下载构建工具


Microsoft Build Tools 2013:http : //www.microsoft.com/zh-cn/download/details.aspx?id=40760


运行cmd设置全局标志以使用2013版本:


npm config set msvs_version 2013 --global


在此之后,一切应该恢复正常,并且您的npm install / node-gyp rebuild将正常工作


查看完整回答
反对 回复 2020-02-04

添加回答

回复

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信