问题描述
起因我在逛一些项目的时候,输入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脚本失败,我猜想是版本导致的,就去查阅一些相关的版本,结果还是解决不了
解决方案:
后来我去查了相关解决这个问题的一些文章解说,
有的解决方法是:
npm config set sass_binary_site=https://npm.taobao.org/mirrors/node-sass
去改变他的下载的地址,然后再npm install node-sass
来安装,我试了好几次还是解决不了问题。
还有的是重新下载,把package-lock.json
和node_modules
文件夹删除,然后执行npm i
来把所需的包重新再下一遍,我也试了一试,结果还是解决不了问题。其余的方法还有就是配置一些其他的下载途径,npm有个包nrm,可以方便的切换镜像源,输入npm i nrm -g
输入,nrm ls
可以查看需要选择的镜像源,输入nrm use taobao
可以直接切换到淘宝镜像,这种方法和第一种有点相似,再去安装npm install node-sass
,我发现还是不行。
如果看到这里,你的问题以及解决了,那肯定就是我的方法不对
最后的方法我只能降级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
总结
到此这篇关于node-sass@4.14.1报错的最终解决方案的文章就介绍到这了,更多相关node-sass@4.14.1报错解决内容请搜索阿兔在线工具以前的文章或继续浏览下面的相关文章希望大家以后多多支持阿兔在线工具!