解决升级nodejs导致gulp以及node-sass不兼容的问题

最近在捣腾一个项目的时候遇到了一系列的问题,在网上查了各种方法,终于得到解决了。现在记录如下:

问题一:升级node 10(之前是6)之后不能使用gulp了,错误如下截图:

之前的gulp版本

nodejs的版本

运行项目时报的错误

解决升级nodejs导致gulp以及node-sass不兼容的问题_第1张图片

  • 解决方案

(1)执行命令npm i graceful-fs安装graceful-fs​​​​​​​即可解决上面的问题

(2)执行命令npm i natives​​​​​​​安装natives​​​​​​​也可解决上面的问题(网上大多说用此方法解决,但是不推荐使用此方法,原因如下图,来自npm官网)

​​​​​​​解决升级nodejs导致gulp以及node-sass不兼容的问题_第2张图片

 

问题二:解决上述问题之后又出现第二个问题:node-sass不兼容 ,错误日志如下:

解决升级nodejs导致gulp以及node-sass不兼容的问题_第3张图片

原因是node-sass版本太老了,不支持64位的操作系统

  • 解决方案:

​​​​​​​运行cnpm install node-sass​​​​​​​ 重新安装一下node-sass。如果没有安装cnpm的可以先运行命令npm install -g cnpm。

注意:千万不要使用npm命令安装,否则会出现很多错误的。

      (1)报找不到缺少 python2.7 或者 .Net framework 之类的错误,可以运行npm install -g windows-build-tools 安装 windows 下编译所需要的工具

      (2)安装编译的时候报如下错误(部分截图):

解决升级nodejs导致gulp以及node-sass不兼容的问题_第4张图片

 如果不行,再尝试一下下面的命令

npm rebuild node-sass
npm rebuild gulp-sass

 ​​​​​​​​​​​​​​或者运行 npm rebuild node-sass --force 来强制更新

至此,项目终于正常运行起来了。

参考文章:

https://www.jianshu.com/p/41a69228a1cc

https://www.jianshu.com/p/5f88778e0611

https://www.cnblogs.com/qcwblog/p/8241993.html

 

 

你可能感兴趣的:(解决升级nodejs导致gulp以及node-sass不兼容的问题)