npm install构建项目报错:ModuleNotFoundError: No module named 'distutils'
解决node-sass安装时缺失distutils模块的问题
问题原因
Python 3.12及以上版本已移除distutils模块,而node-sass依赖该模块完成编译,你使用Python3.13自然会触发这个错误。
可行解决方案
1. 降级Python到3.11及以下版本(最直接)
- 卸载当前Python3.13版本,清理残留的环境变量
- 安装Python3.11.x系列版本,安装时务必勾选「Add Python to PATH」选项
- 打开命令提示符验证版本:
python --version,确认显示3.11.x - 回到项目目录重新运行
npm install
2. 手动安装distutils替代包(无需降级Python)
- 打开命令提示符,执行
pip install setuptools(setuptools包含distutils的兼容实现) - 设置环境变量让node-sass识别Python路径:
- 临时生效:在项目根目录的命令行中运行
set SASS_PYTHON=C:\你的Python路径\Python313\python.exe(替换为实际安装路径) - 永久生效:打开「系统属性→高级→环境变量」,新建系统变量
SASS_PYTHON,值为你的python.exe完整路径
- 临时生效:在项目根目录的命令行中运行
- 再次运行
npm install
3. 替换node-sass为dart-sass(推荐长期方案)
node-sass已停止维护,dart-sass是官方推荐替代方案,兼容性更好且无需依赖特定Python版本:
- 卸载现有node-sass:
npm uninstall node-sass - 安装dart-sass:
npm install sass --save-dev - 检查项目配置文件(如webpack.config.js、vue.config.js),将所有
node-sass相关引用替换为sass(多数工具会自动兼容)
node-sass的依赖说明
node-sass正常安装需要以下依赖:
- Python版本:2.7 或 3.6~3.11(不支持3.12+)
- 编译工具:Windows环境需安装Visual Studio Build Tools(可通过
npm install -g windows-build-tools快速安装核心组件) - node-gyp:通常随npm自动安装,若缺失可手动执行
npm install -g node-gyp
内容的提问来源于stack exchange,提问作者Тимур Агаев
相关产品推荐
相关产品推荐

