升级Node.js后Node Sass环境不兼容错误的修复方法
Node Sass v4.14.1 兼容高版本Node.js的修复方案
问题原因
Node Sass v4.14.1是已停止维护的老旧版本,仅支持Node.js 14及以下版本。你升级后的Node.js版本对应runtime 120(通常为Node.js 20.x+),不在该版本的兼容范围内,导致SCSS编译失败。
修复步骤
方案1:迁移到Dart Sass(官方推荐,长期稳定)
Dart Sass是Sass官方当前维护的版本,完全兼容最新Node.js,且API与Node Sass基本一致,迁移成本极低:
- 卸载Node Sass:
npm uninstall node-sass # 或使用yarn:yarn remove node-sass - 安装Dart Sass(包名为
sass):npm install sass --save-dev # 或使用yarn:yarn add sass --dev - 重新运行项目构建命令(如
npm run build),SCSS文件会自动通过Dart Sass编译,无需修改代码或配置。
方案2:临时降级Node.js(不推荐,存在安全风险)
若暂时无法迁移,可将Node.js降级至Node Sass v4.14.1支持的版本(如Node.js 14.x),通过nvm快速切换:
- 安装nvm后执行:
nvm install 14 nvm use 14 - 删除项目目录下的
node_modules、package-lock.json(或yarn.lock) - 重新安装依赖:
npm install
注意:Node.js 14已停止维护,存在安全漏洞,仅作为临时应急方案。
原始错误信息
ERROR in ./app/assets/scss/styles.scss (./node_modules/css-loader!./node_modules/sass-loader/dist/cjs.js!./app/assets/scss/styles.scss) Module build failed (from ./node_modules/sass-loader/dist/cjs.js): Error: Node Sass does not yet support your current environment: Windows 64-bit with Unsupported runtime (120) For more information on which environments are supported please see: https://github.com/sass/node-sass/releases/tag/v4.14.1 at module.exports (F:\Data(D)\Dev\Projects\Blockchain\wallet_frontend_react\node_modules\node-sass\lib\binding.js:13:13) at Object.<anonymous> (F:\Data(D)\Dev\Projects\Blockchain\wallet_frontend_react\node_modules\node-sass\lib\index.js:14:35) at Module._compile (node:internal/modules/cjs/loader:1378:14) at Module._extensions..js (node:internal/modules/cjs/loader:1437:10) at Module.load (node:internal/modules/cjs/loader:1212:32) at Module._load (node:internal/modules/cjs/loader:1028:12) at Module.require (node:internal/modules/cjs/loader:1237:19) at require (node:internal/modules/helpers:176:18) at getDefaultSassImpl (F:\Data(D)\Dev\Projects\Blockchain\wallet_frontend_react\node_modules\sass-loader\dist\index.js:198:10) at Object.loader (F:\Data(D)\Dev\Projects\Blockchain\wallet_frontend_react\node_modules\sass-loader\dist\index.js:80:29) ERROR in ./app/containers/UserDashboard/assets/style.scss (./node_modules/css-loader!./node_modules/sass-loader/dist/cjs.js!./app/containers/UserDashboard/assets/style.scss) Module build failed (from ./node_modules/sass-loader/dist/cjs.js): Error: Node Sass does not yet support your current environment: Windows 64-bit with Unsupported runtime (120) For more information on which environments are supported please see: https://github.com/sass/node-sass/releases/tag/v4.14.1 at module.exports (F:\Data(D)\Dev\Projects\Blockchain\wallet_frontend_react\node_modules\node-sass\lib\binding.js:13:13) at Object.<anonymous> (F:\Data(D)\Dev\Projects\Blockchain\wallet_frontend_react\node_modules\node-sass\lib\index.js:14:35) at Module._compile (node:internal/modules/cjs/loader:1378:14) at Module._extensions..js (node:internal/modules/cjs/loader:1437:10) at Module.load (node:internal/modules/cjs/loader:1212:32) at Module._load (node:internal/modules/cjs/loader:1028:12) at Module.require (node:internal/modules/cjs/loader:1237:19) at require (node:internal/modules/helpers:176:18) at getDefaultSassImpl (F:\Data(D)\Dev\Projects\Blockchain\wallet_frontend_react\node_modules\sass-loader\dist\index.js:198:10) at Object.loader (F:\Data(D)\Dev\Projects\Blockchain\wallet_frontend_react\node_modules\sass-loader\dist\index.js:80:29) ERROR in ./app/assets/scss/components/register.scss (./node_modules/css-loader!./node_modules/sass-loader/dist/cjs.js!./app/assets/scss/components/register.scss) Module build failed (from ./node_modules/sass-loader/dist/cjs.js): Error: Node Sass does not yet support your current environment: Windows 64-bit with Unsupported runtime (120) For more information on which environments are supported please see: https://github.com/sass/node-sass/releases/tag/v4.14.1 at module.exports (F:\Data(D)\Dev\Projects\Blockchain\wallet_frontend_react\node_modules\node-sass\lib\binding.js:13:13) at Object.<anonymous> (F:\Data(D)\Dev\Projects\Blockchain\wallet_frontend_react\node_modules\node-sass\lib\index.js:14:35) at Module._compile (node:internal/modules/cjs/loader:1378:14) at Module._extensions..js (node:internal/modules/cjs/loader:1437:10) at Module.load (node:internal/modules/cjs/loader:1212:32) at Module._load (node:internal/modules/cjs/loader:1028:12) at Module.require (node:internal/modules/cjs/loader:1237:19) at require (node:internal/modules/helpers:176:18) at getDefaultSassImpl (F:\Data(D)\Dev\Projects\Blockchain\wallet_frontend_react\node_modules\sass-loader\dist\index.js:198:10) at Object.loader (F:\Data(D)\Dev\Projects\Blockchain\wallet_frontend_react\node_modules\sass-loader\dist\index.js:80:29) ERROR in ./app/components/CustomTable/components/pagination.scss (./node_modules/css-loader!./node_modules/sass-loader/dist/cjs.js!./app/components/CustomTable/components/pagination.scss) Module build failed (from ./node_modules/sass-loader/dist/cjs.js): Error: Node Sass does not yet support your current environment: Windows 64-bit with Unsupported runtime (120) For more information on which environments are supported please see: https://github.com/sass/node-sass/releases/tag/v4.14.1 at module.exports (F:\Data(D)\Dev\Projects\Blockchain\wallet_frontend_react\node_modules\node-sass\lib\binding.js:13:13) at Object.<anonymous> (F:\Data(D)\Dev\Projects\Blockchain\wallet_frontend_react\node_modules\node-sass\lib\index.js:14:35) at Module._compile (node:internal/modules/cjs/loader:1378:14) at Module._extensions..js (node:internal/modules/cjs/loader:1437:10) at Module.load (node:internal/modules/cjs/loader:1212:32) at Module._load (node:internal/modules/cjs/loader:1028:12) at Module.require (node:internal/modules/cjs/loader:1237:19) at require (node:internal/modules/helpers:176:18) at getDefaultSassImpl (F:\Data(D)\Dev\Projects\Blockchain\wallet_frontend_react\node_modules\sass-loader\dist\index.js:198:10) at Object.loader (F:\Data(D)\Dev\Projects\Blockchain\wallet_frontend_react\node_modules\sass-loader\dist\index.js:80:29)
内容的提问来源于stack exchange,提问作者oLove
相关产品推荐
相关产品推荐

