MSBUILD : error MSB4132: 无法识别工具版本“2.0”。可用的工具版本为 “4.0“

Posted Qianliwind

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MSBUILD : error MSB4132: 无法识别工具版本“2.0”。可用的工具版本为 “4.0“相关的知识,希望对你有一定的参考价值。

问题描述
  Windows 10系统下最近使用npm install安装项目依赖包,当自动执行至node-gyp rebuild时报错:

C:\\Users\\dsl\\Desktop\\Pros\\ant-design-pro-master-v3.1.0>npm install > weak@1.0.1 install C:\\Users\\dsl\\Desktop\\Pros\\ant-design-pro-master-v3.1.0\\node_modules\\weak > node-gyp rebuild C:\\Users\\dsl\\Desktop\\Pros\\ant-design-pro-master-v3.1.0\\node_modules\\weak>if not defined npm_config_node_gyp (node "C:\\Program Files\\nodejs\\node_modules\\npm\\bin\\node-gyp-bin\\....\\node_modules\\node-gyp\\bin\\node-gyp.js" rebuild ) else (node "" rebuild ) 在此解决方案中一次生成一个项目。若要启用并行生成,请添加“/m”开关。 MSBUILD : error MSB4132: 无法识别工具版本“2.0”。可用的工具版本为 "4.0"。 gyp ERR! build error gyp ERR! stack Error: C:\\Windows\\Microsoft.NET\\Framework\\v4.0.30319\\msbuild.exe failed with exit code: 1 gyp ERR! stack at ChildProcess.onExit (C:\\Program Files\\nodejs\\node_modules\\npm\\node_modules\\node-gyp\\lib\\build.js:258:23) gyp ERR! stack at emitTwo (events.js:126:13) gyp ERR! stack at ChildProcess.emit (events.js:214:7) gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:198:12) gyp ERR! System Windows_NT 10.0.16299 gyp ERR! command "C:\\Program Files\\nodejs\\node.exe" "C:\\Program Files\\nodejs\\node_modules\\npm\\node_modules\\node-gyp\\bin\\node-gyp.js" "rebuild" gyp ERR! cwd C:\\Users\\dsl\\Desktop\\Pros\\ant-design-pro-master-v3.1.0\\node_modules\\weak gyp ERR! node -v v8.9.1 gyp ERR! node-gyp -v v3.6.2 gyp ERR! not ok ....

1.具体原因

  项目依赖中,node-gyp调用MSBuild工具进行组件编译,找不到MSBuild2.0,而系统里只有MSBuild4.0。

2.解决办法

  参考https://github.com/nodejs/node-gyp/issues/629#issuecomment-153196245 mousetraps说的方案1~4,以下是本人的方案1~3:

 下载 Visual C++ 2015 Build Tools,安装时,选择自定义安装,勾选系统版本对应的Windows SDKs ,直至安装完毕;
 下载 Python2.7,安装时,勾选将 Add Python.exe to PATH,即添加至环境变量,直至安装完毕;
    在报错的项目内,重新执行 npm install --msvs_version 2015 进行安装项目依赖,即可完美解决问题了;
 
C:\\Users\\dsl\\Desktop\\Pros\\ant-design-pro-master-v3.1.0>npm install --msvs_version 2015
————————————————
版权声明:本文为CSDN博主「liuyong0507」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/liuyong0507/article/details/88219799

以上是关于MSBUILD : error MSB4132: 无法识别工具版本“2.0”。可用的工具版本为 “4.0“的主要内容,如果未能解决你的问题,请参考以下文章

cmake cmake MSBUILD : error MSB1009: 项目文件不存在 or MSBuild.exe not find !

MSBUILD : error MSB3428: 未能加载 Visual C++ 组件“VCBuild.exe”。要解决此问题,1) 安装 .NET Framework 2.0 SDK;2) 安装 M

VS error MSB8031

Error MSB4175 错误

MSBuild 无法使用临时密钥签署 ClickOnce 清单(错误 MSB3326 和 MSB3321)

error MSB6006: “cmd.exe”已退出,代码为 3。