zoukankan      html  css  js  c++  java
  • #npm install# MSBUILD : error MSB4132: 无法识别工具版本“2.0”。可用的工具版本为 "4.0"。

    0.问题描述

      Windows 10

      最近使用npm install安装项目依赖包,当自动执行至node-gyp rebuild时报错:

    C:UsersdslDesktopProsant-design-pro-master-v3.1.0>npm install
    
    > weak@1.0.1 install C:UsersdslDesktopProsant-design-pro-master-v3.1.0
    ode_modulesweak
    > node-gyp rebuild
    
    C:UsersdslDesktopProsant-design-pro-master-v3.1.0
    ode_modulesweak>if not defined npm_config_node_gyp (node "C:Program Files
    odejs
    ode_modules
    pmin
    ode-gyp-bin....
    ode_modules
    ode-gypin
    ode-gyp.js" rebuild ) else (node "" rebuild )
    在此解决方案中一次生成一个项目。若要启用并行生成,请添加“/m”开关。
    MSBUILD : error MSB4132: 无法识别工具版本“2.0”。可用的工具版本为 "4.0"gyp ERR! build error
    gyp ERR! stack Error: C:WindowsMicrosoft.NETFrameworkv4.0.30319msbuild.exe failed with exit code: 1
    gyp ERR! stack at ChildProcess.onExit (C:Program Files
    odejs
    ode_modules
    pm
    ode_modules
    ode-gyplibuild.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
    odejs
    ode.exe" "C:Program Files
    odejs
    ode_modules
    pm
    ode_modules
    ode-gypin
    ode-gyp.js" "rebuild"
    gyp ERR! cwd C:UsersdslDesktopProsant-design-pro-master-v3.1.0
    ode_modulesweak
    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:UsersdslDesktopProsant-design-pro-master-v3.1.0>npm install --msvs_version 2015
  • 相关阅读:
    转 Android之Broadcast, BroadcastReceiver(广播)
    Android之“==”与equals区别
    Android之notificaction使用
    android service 学习
    Android之Menu.add()
    (转)Android生命周期
    Partial Method in VB.NET
    如何侦测机器上装的.net framework的版本
    Powersehll: match ,cmatch,imatch命令
    Office Tip(1) : Split the Screen
  • 原文地址:https://www.cnblogs.com/iTlijun/p/8193588.html
Copyright © 2011-2022 走看看