Visual Studio 2017中Gulp集成失效问题求助
我之前在VS2017里配置Gulp时碰到过几乎一模一样的坑,给你几个亲测有效的排查方案:
确认VS进程能读取到PYTHON环境变量
系统环境变量设置了不代表VS的进程能读到。打开VS的「工具」→「命令行」→「开发者命令提示符」,输入echo %PYTHON%,看看输出是不是C:\Python36\python.EXE。如果是空的,去系统环境变量的「用户变量」或「系统变量」里添加PYTHON变量,值设为C:\Python36\python.EXE,然后完全重启VS(不是只关窗口,要结束进程那种)再试。强制指定Python路径给node-gyp
node-sass依赖node-gyp编译,有时候系统环境变量的优先级不如项目本地配置。在你的项目根目录新建一个.npmrc文件,写入以下内容:python=C:\Python36\python.EXE然后在命令行执行
npm rebuild node-sass --force,再回到VS刷新任务运行器,大概率能解决。检查node-sass与Node.js的版本兼容性
旧版node-sass对Python3.6的支持可能有bug,或者和你当前的Node.js版本不匹配。先卸载现有node-sass:npm uninstall node-sass然后根据你的Node版本安装对应兼容的node-sass版本(比如Node v8-v10对应node-sass 4.14.x):
npm install node-sass@4.14.1 --save-dev安装完成后再执行
npm rebuild node-sass --force,重新加载VS的任务运行器。重置VS任务运行器缓存
有时候VS的任务运行器会缓存错误状态,试试右键项目→「任务运行器资源管理器」,然后右键空白处选择「刷新」,或者直接重启VS后再打开任务运行器。
内容的提问来源于stack exchange,提问作者Mike Cole

