关于windows无法执行npm install
报错内容大概如下:
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:\Users\Administrator\Desktop\pig-ui\node_modules\node-gyp\lib\build.js:258:23)
gyp ERR! stack at emitTwo (events.js:106:13)
gyp ERR! stack at ChildProcess.emit (events.js:191:7)
gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:215:12)
gyp ERR! System Windows_NT 10.0.14393
gyp ERR! command "C:\\Program Files\\nodejs\\node.exe" "C:\\Users\\Administrator\\Desktop\\pig-ui\\node_modules\\node-gyp\\bin\\node-gyp.js" "rebuild" "--verbose" "--libsass_ext=" "--libsass_cflags=" "--libsass_ldflags=" "--libsass
_library="
gyp ERR! cwd C:\Users\Administrator\Desktop\pig-ui\node_modules\node-sass
说下解决方案:
可以看出是缺少Framework相关的东西,应该是windows底层一些编译相关的东西缺失或者版本不对,
网上有说安装VC++ 2015的,看了下相关博客,不是链接失效,就是安装的时候提示安装包损坏无法进行,最后安装了VC++2019也无作用,
无意看到一个老哥说以管理员身份执行 npm install -global -production windows-build-tools ,就可以,执行后确实解决了问题。
不过我执行了两遍,第一遍未在电脑前值守,可能有些东西被防火墙拒绝安装了,第二次就好了。
安装.NET\Framework\v4.0.30319的话如果用360软件管家应该可以,不过公司防火墙不允许访问360。