问题描述

起因我在逛一些项目的时候,输入npm i全安装文件所需的依赖的时候,博主是使用sass去书写的,使用的是node-sass@4.14.1和sass-loader@7.3.1的版本的,安装的时候老是出现错误

gyp ERR! stack Error: Can't find Python executable "python", you can set the PYTHON env variable.
gyp ERR! stack     at PythonFinder.failNoPython (C:\Users\Admin\Desktop\github-demo\xiaochen\pupu_blog-master\pupu_blog-master\vue-blog-web\node_modules\node-gyp\lib\configure.js:484:19)
gyp ERR! stack     at PythonFinder.<anonymous> (C:\Users\Admin\Desktop\github-demo\xiaochen\pupu_blog-master\pupu_blog-master\vue-blog-web\node_modules\node-gyp\lib\configure.js:509:16)
gyp ERR! stack     at callback (C:\Users\Admin\Desktop\github-demo\xiaochen\pupu_blog-master\pupu_blog-master\vue-blog-web\node_modules\graceful-fs\polyfills.js:299:20)
gyp ERR! stack     at FSReqCallback.oncomplete (node:fs:198:21)

这里提示和Python有一点点关系,起初猜想是sass程序可能和python有一些数据的连接啥的,去查了很多的关于这个报错的信息,也没有找到什么,后面还有一个报错

npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the node-sass@4.14.1 postinstall script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

这里提示node-sass@4.14.1 postinstall脚本失败,我猜想是版本导致的,就去查阅一些相关的版本,结果还是解决不了

解决方案:

后来我去查了相关解决这个问题的一些文章解说,

  1. 有的解决方法是:
npm config set sass_binary_site=https://npm.taobao.org/mirrors/node-sass

去改变他的下载的地址,然后再npm install node-sass来安装,我试了好几次还是解决不了问题。

  1. 还有的是重新下载,把package-lock.jsonnode_modules文件夹删除,然后执行npm i来把所需的包重新再下一遍,我也试了一试,结果还是解决不了问题。
  2. 其余的方法还有就是配置一些其他的下载途径,npm有个包nrm,可以方便的切换镜像源,输入npm i nrm -g 输入,nrm ls可以查看需要选择的镜像源,输入nrm use taobao 可以直接切换到淘宝镜像,这种方法和第一种有点相似,再去安装npm install node-sass,我发现还是不行。

如果看到这里,你的问题以及解决了,那肯定就是我的方法不对

  1. 最后的方法我只能降级node去安装,终于,在降级后就可以安装了,现在的node最新是v16,要支配node-sass@4.14.1可以把node降级到v12,至于怎么降级,可以使用nvm去降级,这个很方便去改变node的版本,但我还没有怎么学会使用。

附上github关于nvm的地址https://github.com/nvm-sh/nvm/blob/master/README.md
虽然我不会使用,但是我会直接改版本,附上node的各个版本下载地址:https://nodejs.org/dist/
找到自己安装node的地址,全部删除,替换下载好的node,解压就好了,将文件重启,再运行npm install node-sass就可以下载了。

+ node-sass@4.14.1
added 102 packages from 110 contributors in 17.834s

48 packages are looking for funding
  run `npm fund` for details

本期的方分享到这里了,如果你也解决了,点个赞防止丢失吧!

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐