MacBook M1已装Python但npm install提示找不到Python可执行文件
M1 MacBook React项目npm install 找不到Python的解决办法
问题根源
你遇到的报错是因为node-gyp(项目里的node-sass等依赖需要它编译)在PATH里找不到python或python2可执行文件。Brew在M1 Mac上安装的Python3默认只有python3命令,没有自动创建python的软链接,导致系统识别不到python命令。
解决步骤
方法1:全局创建Python3到python的软链接
先确认Python3的安装路径:
which python3M1 Mac上brew安装的路径一般是
/opt/homebrew/bin/python3创建软链接让系统识别
python命令:sudo ln -s /opt/homebrew/bin/python3 /usr/local/bin/python执行完后再运行
python --version,应该会显示Python3的版本。重新运行npm install:
npm install
方法2:临时指定PYTHON环境变量执行npm install
如果不想修改全局配置,可以直接在执行npm install时指定Python路径:
PYTHON=/opt/homebrew/bin/python3 npm install
方法3:安装Python2并创建软链接(针对node-gyp查找python2的情况)
如果报错里还提示找不到python2,可以通过brew安装Python2(注意:Python2已停止维护,仅用于兼容老依赖):
- 安装Python2:
brew install python@2 - 创建
python2的软链接:sudo ln -s /opt/homebrew/bin/python2 /usr/local/bin/python2 - 重新运行npm install
额外提示
你的项目里使用了node-sass@4.14.1,这个版本在M1 Mac上可能还会遇到编译架构不兼容的问题,如果解决Python后仍有报错,可以尝试:
- 安装
nvm管理Node版本,切换到LTS版本(比如Node14),因为node-sass老版本对高Node版本支持不好 - 或者将
node-sass替换为sass(dart-sass),它不需要编译,兼容性更好
内容的提问来源于stack exchange,提问作者Sabrina B.
相关产品推荐
相关产品推荐

