背景

运行一个 React 简历项目的时候,报错如下:

Failed to compile.

./src/App.scss (./node_modules/css-loader/dist/cjs.js??ref--6-oneOf-5-1!./node_modules/postcss-loader/src??postcss!./node_modules/resolve-url-loader??ref--6-oneOf-5-3!./node_modules/sass-loader/dist/cjs.js??ref--6-oneOf-5-4!./src/App.scss)
Error: Node Sass does not yet support your current environment: OS X 64-bit with Unsupported runtime (93)
For more information on which environments are supported please see:
https://github.com/sass/node-sass/releases/tag/v4.13.1

原因

根据报错信息和提到的 node-sass v4.13.1 的发行说明,发现是因为 node 版本不匹配导致的:

  • node-sass v4.13.1 最高支持到 node v13
  • 我当前的环境是 node v16.13.1

node-sass v4.13.1 的发行说明

解决

两种解决方案:

  • 降低 node 版本
  • 升级 node-sass 版本

降低 node 版本

使用 nvm 切换至与 node-sass 匹配的 node 版本:

# 偶数的 node 版本是 LTS 版本
nvm install 12
nvm use 12

备注:安装/切换的 node 的方式和具体版本号,根据你的实际情况决定,这个方案不需要改动项目依赖,比较灵活。

升级 node-sass 版本

以我当前使用的 LTS 版本 node v16.13.1 为例,查阅 node-sass 的近期的发行说明 ,找到匹配的 node-sass 版本:node-sass v6.0.0,从 v6.0.0 开始支持 node v16

node-sass v6.0.0 的发行说明

  • 先卸载旧版本 node-sass
  • 安装与当前环境匹配的 node-sass

备注:安装新版本 node-sass 后相关的依赖可能需要一并升级,需要花一定的时间,适合需要持续维护的项目。

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐