解决node-sass与node版本冲突、导致安装 node-sass、sass-loader报错问题

一、报错场景:

中途插入一个项目,拉下code.安装依赖.启动,均报错 错误集中于Node Sass这个依赖
重复删除 node_modules 包,重新下载多次均不能安装问题
1. npm install
系统报错:Error: Node Sass does not yet support your current environment: 
OS X 64-bit with Unsupported runtime...
百度翻译:错误:节点Sass尚不支持当前环境:OS X 64位,运行时不受支持(版本冲突)
2. npm run start
系统报错:Module build failed (from ./node_modules/sass-loader/dist/cjs.js)

二、分析原因

建议首先通过 node -v、 node-sass -v 查看版本号
我出现问题的 node版本是最新版本,v16.;而项目中用到的node-sass 是5.0.0 版本;
解决办法要么升级 node-sass 到 6.0以上;要么降低本机的 nodejs 版本;
这里我考虑到升级包可能会对之前的代码产生问题,所一选择了降低 nodejs 的版本到 v14 来匹配项目解决node-sass与node版本冲突、导致安装 node-sass、sass-loader报错问题_第1张图片

  1. 根据报错原因,以及 npm node-sass文档 查询,找到关键信息:解决node-sass与node版本冲突、导致安装 node-sass、sass-loader报错问题_第2张图片解决node-sass与node版本冲突、导致安装 node-sass、sass-loader报错问题_第3张图片
  2. 根本原因就是当前设备上的 nodejs 和 package.json 中需要安装的 node-sass 版本冲突,不兼容。

三、解决办法:让项目中的node-sass 和当前设备中的nodejs 版本匹配即可解决问题。

方法一(推荐)

降低当前设备的 nodejs 版本来匹配项目中node-sass 版本:
重新安装低版本的 nodejs,直接从官网下载,安装覆盖掉本地的node即可。
然后重新 npm install 安装依赖包。

nodejs 中文网下载地址
http://nodejs.cn/download/current/

方法二

更改package.json 中的node-sass 的版本号,重新安装高版本依赖。

node-sass 最新版查询
https://www.npmjs.com/package/node-sass

四、Sass-loader 使用最新版即可,当 node-sass 和 nodejs 版本对应上,Sass-loader 运行报错问题也会随之解决

感觉对你帮助的话,就点个赞吧

你可能感兴趣的:(大前端)