npm 报错 gyp verb `which` failed Error: not found: python2 解决方案

一、背景

npm 安装依赖报如下错:

bash 复制代码
gyp verb check python checking for Python executable "python2" in the PATH
gyp verb `which` failed Error: not found: python2

一眼看过去都觉得是Python环境问题,其实并不是你python环境问题,我也被这里坑了半天,对这种比较有影响力的依赖库这种报错误导,真的无力吐槽下,做的很不严谨。

二、产生错误原因

在前端开发中,node-sass 是一个常用的工具,但不少开发者在安装它时常常遇到各种问题。这里其实是 node-sass 和node版本不兼容原因导致,当时开发者的可能用的比较低的node版本,而你用的比较新的node版本

三、解决方案

3.1 切换到 sass 或 dart-sass

最简单的解决方案是将项目依赖从 node-sass 切换到 sass,它是纯 JavaScript 实现,兼容性更好,安装更方便。(官方推荐)

将原项目中的node-sass更换为sass

安装命令:

bash 复制代码
npm i sass

3.2 切换Node对应版本下载

如果必须使用 node-sass,请确保 Node.js 版本兼容

安装特定版本的 Node.js:

bash 复制代码
nvm install 14.17.0
nvm use 14.17.0
npm i node-sass
相关推荐
COOLMO研究AI7 小时前
Next.js App Router 中 sitemap、robots 与 canonical 的配置与排查
前端·web·js·网站优化
DyLatte7 小时前
AI 给了我 8 个优化方案,全都是对的,但没有一个有用
前端·后端·程序员
钝挫力PROGRAMER7 小时前
npx 与 npm 全局安装/更新/卸载
npm·npx·mcp·dsh
the局外人7 小时前
一座不够大的城市,装下了我毕业后的成长
前端·程序员·求职
涛涛ing8 小时前
周下载量1.1亿的Tailwind,为什么养不活自己?
前端
变与不变8068 小时前
JS事件机制精讲
前端·javascript
装备研究社8 小时前
Promise 的五个状态,90% 的人只说对了三个
前端
小聪7088 小时前
elpis-core 抽离 npm 包过程的难点和卡点
前端·架构
钱栈up8 小时前
坯料管理导入功能bug修复:只改前端一个文件就解决问题
前端·bug
石小石Orz9 小时前
民间AI排行榜单新鲜出炉,Fable 5.1仅排第三
前端·后端·ai编程