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
相关推荐
程序员Agions13 小时前
useMemo、useCallback、React.memo,可能真的要删了
前端·react.js
滕青山13 小时前
Vue项目BMI计算器技术实现
前端·vue.js
子兮曰13 小时前
深入浏览器指纹:Canvas、WebGL、Audio是如何暴露你的身份的?
前端·浏览器·canvas
月亮补丁13 小时前
AntiGravity只能生成 1:1 图片?一招破解尺寸限制
前端
何中应13 小时前
MindMap部署
前端·node.js
NAGNIP13 小时前
程序员效率翻倍的快捷键大全!
前端·后端·程序员
一个网络学徒13 小时前
python5
java·服务器·前端
tiantian_cool13 小时前
Claude Opus 4.6 模型新特性(2026年2月5日发布)
前端
0思必得013 小时前
[Web自动化] Selenium获取元素的子元素
前端·爬虫·selenium·自动化·web自动化
用户57573033462414 小时前
🌟 从一行 HTML 到屏幕像素:浏览器是如何“画”出网页的?
前端