You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Node v21执行npm start报错:It is not a valid win32 application

解决npm start编译失败:node-sass binding.node无效问题

问题根源

你使用的 Node.js 21.0.0 与项目依赖的 node-sass@4.14.1 版本不兼容。node-sass 依赖 Node.js 原生编译的 binding.node 文件,不同 Node.js 版本对应不同的ABI(应用二进制接口)编号:Node 21 的ABI是120,但 node-sass@4.14.1 仅支持到 Node.js 14.x(ABI 83),因此自动下载的 win32-x64-120/binding.node 文件无法在当前环境运行,触发"It is not a valid win32 application"错误。

解决方案

方案1:替换node-sass为dart-sass(推荐)

node-sass 已被官方废弃,推荐使用 sass(dart-sass的npm包),它完全兼容SCSS语法,且不需要依赖Node.js版本对应的原生编译文件:

  • 卸载旧依赖:
    npm uninstall node-sass
    
  • 安装替代包:
    npm install sass
    
  • 重新启动项目:
    npm start
    

方案2:降级Node.js版本

如果必须保留node-sass@4.14.1,将Node.js版本降级到它支持的最高版本(Node.js 14.x LTS),可以通过nvm(Node版本管理器)快速切换:

  • 安装nvm后,执行:
    nvm install 14
    nvm use 14
    
  • 清理旧依赖并重新安装:
    rm -rf node_modules package-lock.json
    npm install
    npm start
    

方案3:强制重新编译node-sass(不推荐)

尝试手动编译适配当前Node版本的binding.node,但由于版本差距过大,成功率极低:

npm rebuild node-sass --force

内容的提问来源于stack exchange,提问作者Maria Fernanda

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.29 08:50:25