vue2启动报错:“Node Sass does not yet support your current environment: Windows 64-bit with .......”

在 Vue 2 项目中遇到 Node Sass does not yet support your current environment: Windows 64-bit with Unsupported runtime (93) 错误,通常是因为 Node.js 版本与 node-sass 不兼容。以下是详细的解决方案:


1. 问题原因

  • node-sass 是一个依赖本地编译的包,需要与 Node.js 的运行时版本(ABI)严格匹配。
  • 错误码 93 表示你的 Node.js 版本(如 Node.js 16/17/18)与当前安装的 node-sass 版本不兼容。
  • node-sass被官方弃用,推荐使用 sass(Dart Sass)替代。

2. 解决方案

方法 1:切换为 sass(推荐)

步骤:

  1. 卸载 node-sass

    npm uninstall node-sass
    
  2. 安装 sass(Dart Sass)

    npm install sass --save-dev
    
  3. 修改代码中的 node-sass 引用(可忽略)

    • vue.config.js 中配置 sass-loader 使用 sass
      // 项目中没有同时存在node-sass和sass不用显式配置在vue.config.js中
      /**原因: 
      ---sass-loader 7.x 版本默认使用 node-sass,不需要在 vue.config.js 中显式配置,
      如果你的项目中安装了 node-sass,sass-loader 会自动使用它。
      ---sass-loader 10.x 版本默认使用 sass(Dart Sass),而不是 node-sass。
      如果你的项目中安装了 sass,sass-loader 会自动使用它
      */
      // 为什么 sass-loader@7.x但是项目中没有node-sass的依赖,只有sass,项目中也能正常使用呢?
      // 答:sass-loader@7.x 默认会尝试使用 node-sass,但如果项目中没有安装 node-sass,它会回退到使用 sass(Dart Sass)
      
      
      
      module.exports = {
        css: {
          // 配置CSS加载器选项
          loaderOptions: {
           // 针对Sass加载器的配置
            sass: {
             // 指定使用Dart Sass作为Sass的实现
              implementation: require('sass'), // 使用 Dart Sass
            },
          },
        },
      };
      
  4. 重启项目

    npm run serve
    

注意:如果vue脚手架@vue/cli-service版本为4.x.x,sass-loader建议不要使用最新版,对应版本如下
sass-loader@10.1.1 + sass@1.58.0
sass-loader@11.0.1 + sass@1.58.0


方法 2:降级 Node.js 版本

如果必须使用 node-sass,可以安装兼容的 Node.js 版本:

  • node-sass@4.x → Node.js 14 或更低。
  • node-sass@5.x → Node.js 14(部分版本支持)。
  • node-sass@6.x → Node.js 16(部分版本支持)。

步骤:

  1. 使用 nvm(Node 版本管理工具)安装兼容的 Node.js 版本:

    nvm install 14.17.0
    nvm use 14.17.0
    
  2. 删除node_modules重新安装依赖:

    npm install
    
  3. 重启项目:

    npm run serve
    

方法 3:更新 node-sass 并重建依赖

如果坚持使用 node-sass,尝试更新到最新版本并重新构建:

  1. 升级 node-sass

    npm install node-sass@latest
    
  2. 清除缓存并重建

    npm rebuild node-sass
    
  3. 重启项目:

    npm run serve
    

3. 验证 Node.js 和 node-sass 版本

  • 查看 Node.js 版本

    node -v
    
  • 查看 node-sass 版本

    npm ls node-sass
    

4. 兼容性参考表

node-sass 版本支持的 Node.js 版本
4.xNode.js ≤ 14
5.xNode.js 14
6.xNode.js 16
7.xNode.js 16/18

5. 为什么推荐使用 sass

  • Dart Sass 是官方维护的替代品,无需本地编译,兼容性更好。
  • node-sass 已停止维护,未来不再支持新 Node.js 版本。

6. 总结

  • 推荐方案:卸载 node-sass,改用 sass(方法 1)。
  • 临时方案:降级 Node.js(方法 2)或更新 node-sass(方法 3)。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值