Node Sass报不支持Windows 64位环境(runtime 93)错误如何解决
问题根因
报错核心原因是版本不匹配:你当前安装的node-sass@4.14.1最高仅支持Node.js 14.x版本,报错信息里的Unsupported runtime (93)是Node.js 16.x对应的原生模块版本号,你之前认为Node 16兼容node-sass v4.14.1的认知有误,这也是执行重建、卸载重装操作无效的根本原因——默认重装的仍是同版本不兼容的node-sass,不存在对应Node 16的预编译二进制包,本地编译也会因适配逻辑缺失失败。
解决方案
按优先级从高到低选一个操作即可:
- 方案1(首选,无后续兼容隐患):替换为官方维护的dart-sass
node-sass目前已经停止官方维护,dart-sass是Sass官方主推的实现方案,纯JavaScript编写无原生模块绑定问题,完全兼容node-sass的API,后续升级Node版本也不会再出现类似兼容报错。
依次执行以下命令:
安装完成后直接重启开发服务/构建进程即可,业务代码中的Sass相关引用不需要修改。npm uninstall node-sass npm install sass --save - 方案2(需保留node-sass依赖的场景):升级node-sass到适配Node 16的版本
node-sass从v6.0.0版本开始才支持Node.js 16.x,直接安装对应兼容版本即可:
安装完成如果仍有缓存类报错,追加执行npm uninstall node-sass npm install node-sass@6.0.1 --savenpm rebuild node-sass后重启进程即可。 - 方案3(需锁定node-sass@4.14.1的场景):降级Node.js版本到14.x LTS
如果项目有历史依赖限制不能升级node-sass版本,就将本地Node.js版本切换到14.x LTS,切换完成后删除项目下的node_modules文件夹和package-lock.json文件,重新执行npm install安装全量依赖即可。
注意:如果操作过程中遇到缓存导致的异常,先删除项目下的node_modules目录和锁文件再执行对应命令,能规避绝大多数无效操作问题。
内容的提问来源于stack exchange,提问作者Abdelbasset Belaid
相关产品推荐
相关产品推荐

