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

M2 Mac执行npm install时遇distutils not found错误求助

解决AirtagsAnywhere项目npm install报错问题

错误根源

日志关键错误:ModuleNotFoundError: No module named 'distutils'。原因是Python 3.12移除了distutils模块,而项目依赖的node-sass需要通过node-gyp编译,旧版node-gyp依赖该模块。另外node-sass已停止维护,对Node 18和M2 ARM架构支持不足。

解决方法

方法一:安装distutils模块(临时修复)

M2 Mac上Python 3.12的distutils需单独安装:

  • 终端执行:
    brew install python-setuptools
    
    或通过pip安装:
    pip3 install setuptools
    
  • 重新运行npm install

方法二:替换node-sass为dart-sass(推荐)

node-sass已废弃,dart-sass是官方替代方案,无需编译,适配新架构和Node版本:

  1. 卸载node-sass:
    npm uninstall node-sass
    
  2. 安装dart-sass:
    npm install sass --save-dev
    
  3. 若项目配置中有引用node-sass的地方(如webpack),替换为sass,并确保sass-loader版本兼容,必要时更新:
    npm install sass-loader@latest --save-dev
    
  4. 重新执行npm install

方法三:降级Python到3.11及以下

3.11及以下版本默认包含distutils:

  • 用brew安装Python 3.11:
    brew install python@3.11
    
  • 配置npm使用该版本:
    npm config set python python3.11
    
  • 重新运行npm install

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.09 00:04:53