#npm install# MSBUILD : error MSB4132: 無法識別工具版本“2.0”。可用的工具版本為 "4.0"。


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:

  1.  下載 Visual C++ 2015 Build Tools,安裝時,選擇自定義安裝,勾選系統版本對應的Windows SDKs ,直至安裝完畢;
  2.  下載 Python2.7,安裝時,勾選將 Add Python.exe to PATH,即添加至環境變量,直至安裝完畢;
  3.     在報錯的項目內,重新執行 npm install --msvs_version 2015 進行安裝項目依賴,即可完美解決問題了;
     
    C:\Users\dsl\Desktop\Pros\ant-design-pro-master-v3.1.0>npm install --msvs_version 2015

     


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM