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

Mac M1执行yarn install时node-sass构建报Python语法错误求助

根本原因

报错由三个适配冲突共同触发:

  • 项目依赖的node-gyp@3.8.0仅支持Python2,系统默认调用的Python3.9不兼容旧语法,直接触发语法报错
  • M1 ARM架构对低版本node-sass的原生编译逻辑支持差
  • 环境同时存在Node14、Node16两个版本,版本漂移进一步加剧了依赖适配冲突

修复步骤

  • 统一Node版本:先确认项目要求的Node runtime版本,通过brew link或者nvm固定对应版本,避免版本混用。如果项目无强制要求,优先使用Node14,低版本node-sass对Node16的适配度更低。
  • 匹配Python版本:
    1. 通过brew安装python@2.7,完成后执行npm config set python 【你的Python2.7实际安装路径】,给node-gyp指定兼容的Python版本
    2. 也可以临时指定Python版本执行安装:PYTHON=python2.7 yarn install
  • 解决M1架构适配问题:
    优先方案:将项目依赖中的node-sass替换为sass,该库为纯JS实现的sass编译工具,语法完全兼容node-sass,无原生编译依赖,可彻底解决此类编译报错。
    若必须保留node-sass:执行arch -x86_64 zsh切换到Rosetta2转译模式,再执行安装命令,用x86兼容模式运行原生编译流程。
  • 兜底验证:如果上述操作后仍报错,先删除项目下的node_modules文件夹、yarn.lock文件,执行yarn cache clean清空缓存后再重新执行安装。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 22:06:02