构建ReactJs项目node-sass编译出错

npm run dev本地项目出错

问题栈

verbose Please try running this command again as root/Administrator.
2729 verbose stack Error: node-sass@3.13.1 postinstall: node scripts/build.js
2729 verbose stack Exit status 1
2729 verbose stack at EventEmitter. (C:\Program Files\nodejs\node_modules\npm\lib\utils\lifecycle.js:283:16)
2729 verbose stack at emitTwo (events.js:125:13)
2729 verbose stack at EventEmitter.emit (events.js:213:7)
2729 verbose stack at ChildProcess. (C:\Program Files\nodejs\node_modules\npm\lib\utils\spawn.js:40:14)
2729 verbose stack at emitTwo (events.js:125:13)
2729 verbose stack at ChildProcess.emit (events.js:213:7)
2729 verbose stack at maybeClose (internal/child_process.js:897:16)
2729 verbose stack at Process.ChildProcess._handle.onexit (internal/child_process.js:208:5)

  • 分析发现与node-sass安装相关,一开始以为是网络问题,使用cnpm安装后出现同样问题,百度了下说要编译下发现下面错误。

环境

  • OS:Win10

  • Python:2.7

  • npm -v
    5.0.3

  • node -v
    v8.1.3

问题复现--发现与npm rebuild node-sass 出错相关

ERR! stack Error: C:\Windows\Microsoft.NET\Framework\v4.0.30319\msbuild.exe failed with exit code: 1
stack at ChildProcess.onExit (f:\SOFTWARE\Nodejs\install4.1\node_modules\npm\node_modules\node-gyp\lib\build.js:270:23)
gyp ERR! stack at emitTwo (events.js:87:13)
gyp ERR! stack at ChildProcess.emit (events.js:172:7)
gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:200:12)
gyp ERR! System Windows_NT 10.0.10240

查看node-gyp的安装教程发现windows环境需要安装Visual C++ Build Environment
下载安装成功后需要设置使用cmd命令执行:npm config set msvs_version 2015,后面可以欢快的编译npm rebuild node-sass了

后续--node-sass干啥子用的

node-sass是编译sass到css文件,甚至可以通过中间件的方式自动编译。

参考:node-gyp的安装教程

posted @ 2017-07-03 23:08  jianhuicode  阅读(1950)  评论(0编辑  收藏  举报