vue安装node-sass,总是报错检查python2.7或者node-gyp...

2,301 阅读1分钟

报错npm ERR! gyp verb which failed Error: not found: python2.7

node版本: image.png 查了很多资料都没解决,最终用以下方法解决。

问题原因

根本原因 node-sass的代码主要是C++实现,运行node-sass需要进行编译后再运行,而python可以为node-sass提供运行时编译环境,所以正常情况下下载node-sass源代码同时会检查python的安装,确保正常运行的环境

其他可能原因

1、下载的node-sass为c++源码版本
2、nodejs与sass版本不匹配
3、软件安装问题等其他原因

解决方案

(问题一)下载的node-sass为c++源码版本
下载已进行预编译的依赖包,处理方式:
在项目根目录下执行以下命令,将node-sass的下载目录指向预编译包目录

// 第一步:
npm config set sass_binary_site http://cdn.npm.taobao.org/dist/node-sass
// 第二步:
npm uninstall sass-loader
// 第三步:
npm uninstall node-sass
// 第四步:
npm install node-sass@6.0.1 
// 第五步:
npm install sass-loader@10.2.0

查看下载版本:

// 查看node-sass版本
npm list node-sass
// 查看sass-loader版本
npm list sass-loader

如下图:

image.png

image.png

我的到这一步就成功了,直接npm install ,再npm run serve,切记先删除package-lock.json文件

(问题二)nodejs与sass版本不匹配
调整package.json中node-sass版本

node与node-sass版本对应表
node版本查看命令:node -v

image.png sass-loader与node-sass版本对应表

image.png (问题三)软件安装问题等其他原因
1、尝试重新安装node或更新node版本
2、如果还不行可尝试安装对应python版本