某些软件包(sqlite3,socket.io)的npm安装失败,Windows 7上出现错误MSB8020

Glo*_*opy 46 sqlite node.js npm socket.io visual-studio-2012

当我尝试npm install socket.io在我的Windows 7机器上使用Visual Studio 2012(而不是2010)安装一些node.js软件包(特别是sqlite3和socket.io )时,我遇到了一些看起来像这样的故障:

C:\ Program Files(x86)\ MSBuild\Microsoft.Cpp\v4.0\V110\Microsoft.Cpp.Platform.targets(35,5):错误MSB8020:Visual Studio 2010的构建工具(Platform Toolset ='v100 ')无法找到.要使用v100构建工具进行构建,请单击"项目"菜单或右键单击解决方案,然后选择"更新VC++项目...".安装Visual Studio 2010以使用Visual Studio 2010构建工具进行构建.

Glo*_*opy 83

为了在我的机器上绕过这个,我做了这个命令来安装包:

npm install socket.io --msvs_version=2012

当我遇到安装sqlite3的问题时,我找到了答案,并且它也适用于socket.io.

这些可能是解决问题的更永久的解决方案:

  1. 安装Visual Studio 2010
  2. 将npm内部副本更新为更新版本的node-gyp,如此此处所述(可能是更好的选项,虽然我没有让它工作但是没有尝试太久)


小智 75

另一种选择是更改配置,而不是每次都指定msvs_version:

npm config set msvs_version 2012
Run Code Online (Sandbox Code Playgroud)

  • 我安装了VS 2013,所以我使用了这个:`npm config set msvs_version 2013` (7认同)