完美解决stack Error: Can‘t find Python executable “python“, you can set the PYTHON env variable.

今天在运行公司Vue项目时,安装运行依赖的过程中出现几种报错,在百度和博客上搜索了各种答案终于解决,于是发一篇文章来写一下我解决问题的过程。(我是在IDEA上运行Vue的,如果是vscode的话请忽略第一张和最后一张图)

下图是我安装依赖的node的版本,此时是16.18.1版本。

在这里插入图片描述

运行时发生了如下错误:

npm ERR! gyp verb check python checking for Python executable "python2" in the PATH
npm ERR! gyp verb `which` failed Error: not found: python2
......
npm ERR! gyp verb `which` failed  python2 Error: not found: python2
......
npm ERR! gyp verb check python checking for Python executable "python" in the PATH
npm ERR! gyp verb `which` failed Error: not found: python
......
npm ERR! gyp verb `which` failed  python Error: not found: python
......
npm ERR! gyp verb could not find "python". checking python launcher
npm ERR! gyp verb could not find "python". guessing location
npm ERR! gyp verb ensuring that file exists: C:\Python27\python.exe
npm ERR! gyp ERR! configure error
npm ERR! gyp ERR! stack Error: Can't find Python executable "python", you can set the PYTHON env variable.
......

......
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! node-sass@4.14.1 postinstall: `node scripts/build.js`
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.

分析:
上述报错信息其实有两部分,
第一部分是stack Error: Can’t find Python executable “python”, you can set the PYTHON env variable.
第二部分是Failed at the node-sass@4.14.1 postinstall script.

一步一步来,先解决第一部分:
错误提示的意思是说我没有python,我电脑里确实没有下载python,但实际上不用下载python也能解决这个问题。我查看了package.json文件中的node-sass的版本,并搜索了NodeJS和node-sass的对应版本,发现是我NodeJS的版本太高了(其实报错信息中也有提及到node的版本问题)。

不知道版本关系的可以参考下图。

在这里插入图片描述

但是不要立马卸载node重新安装!!!可以使用nvm管理工具,切换不同node的版本来使用,下面是github官网上下载nvm的路径,下载安装即可。

前往官网下载nvm

在这里插入图片描述

我重新下载的是12版本的node,使用命令nvm install 12.13.0
切换node版本,使用命令nvm use 12.13.0
然后查看当前版本,是12.13.0,切换完成。

下图是nvm部分命令的使用效果:

在这里插入图片描述

下图是切换后的node版本。

在这里插入图片描述

切换node版本后,第一部分问题已经解决,下面开始解决第二部分:
第二部分的意思是node-sass4.14.1的脚本安装失败,其实原因在第一部分也有提及,就是版本问题,NodeJS和node-sass的版本需要匹配才能成功安装,如果已经把Node改为12版本,那么问题就非常好解决了,只需要在Terminal控制台输入指令npm config set sass_binary_site=https://npm.taobao.org/mirrors/node-sass,控制台没有任何报错就说明运行成功了。

成功后继续下载依赖,没有报错,问题完美解决!

  • 14
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
*** error 56: cannot open file 是一个错误信息,表示无法打开文件。根据提供的引用内容,这个错误可能是由于以下原因之一引起的: 1. 文件路径错误:可能是文件路径没有正确设置或者文件不存在。您可以检查文件路径是否正确,并确保文件存在。 2. 权限问题:可能是由于权限限制导致无法访问该文件。您可以尝试使用管理员权限或者检查文件的权限设置。 3. 编译器设置问题:可能是由于编译器设置不正确导致的。您可以检查编译器的设置,特别是头文件路径是否正确设置并添加到工程中。 综上所述,*** error 56: cannot open file 错误可能是由于文件路径错误、权限问题或者编译器设置问题引起的。您可以根据具体情况进行排查和调整。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [Windows下MySQL 5.7无法启动的解决方法](https://download.csdn.net/download/weixin_38722944/14838296)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [keil5 之error 56: cannot open file](https://blog.csdn.net/RONG_YAO/article/details/112555986)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [问题:在keil仿真时出现error 56: can‘t open file原因总结](https://blog.csdn.net/qq_48701278/article/details/115640961)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值