vue安装node-sass检查python2.7.exe问题

vue安装node-sass检查python2.7.exe问题

问题描述

项目中package.json中有配置依赖node-sass,在npm i下载依赖过程中,报错:npm ERR! gyp verb which failed Error: not found: python2.7

问题原因

根本原因

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

(问题二)nodejs与sass版本不匹配

调整package.json中node-sass版本

node与node-sass版本对应表

node版本查看命令:node -v

node版本node-sass版本
node<8<5.0
node84.5.3+,<5.0
node104.9+,<5.0
node114.10+,<5.0
node124.12+
node134.13+,<5.0
node 144.14+
node 155.0+
node 166.0+
sass-loader与node-sass版本对应表
sass-loader版本node-sass版本
sass-loader 4.1.1node-sass 4.3.0
sass-loader 7.0.3node-sass 4.7.2
sass-loader 7.3.1node-sass 4.7.2
sass-loader 7.3.1node-sass 4.14.1
sass-loader 10.0.1node-sass 6.0.1

(问题三)软件安装问题等其他原因

1、尝试重新安装node或更新node版本
2、如果还不行可尝试安装对应python版本

如有其它情况或解决方案,欢迎补充~

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
【用于解决 failed Error: not found: python2 node-sass】 报错信息如下: ``` npm WARN prefer global node-gyp@3.6.0 should be installed with -g > node-sass@4.5.2 install E:\workspace_vscode\ww\node_modules\node-sass > node scripts/install.js Downloading binary from https://github.com/sass/node-sass/releases/download/v4.5 .2/win32-x64-48_binding.node Cannot download "https://github.com/sass/node-sass/releases/download/v4.5.2/win3 2-x64-48_binding.node": connect ETIMEDOUT 54.231.72.83:443 Timed out whilst downloading the prebuilt binary Hint: If github.com is not accessible in your location try setting a proxy via HTTP_PROXY, e.g. export HTTP_PROXY=http://example.com:1234 or configure npm proxy via npm config set proxy http://example.com:8080 > node-sass@4.5.2 postinstall E:\workspace_vscode\ww\node_modules\node-sass > node scripts/build.js gyp verb check python checking for Python executable "python2" in the PATH gyp verb `which` failed Error: not found: python2 gyp verb `which` failed at getNotFoundError ``` 这个问题有两个解决方案 1. 按照提示需要 python2 环境,安装python2环境确实可以解决, 网上好多这种(管理员身份执行)。但是当你本来就有python环境时,环境变量不能自动替换,整起来就很麻烦。 ``` npm install --global --production windows-build-tools ``` 2. 第二种解决方案 ,看另一句报错,资源被墙。 ``` Downloading binary from https://github.com/sass/node-sass/releases/download/v4.5.2/win32-x64-48_binding.node Cannot download "https://github.com/sass/node-sass/releases/download/v4.5.2/win32-x64-48_binding.node": ``` 下载此资源即可。下载后需要设置变量路径,防止它再次去下载。 可以设置环境变量 直接右键我的电脑--》属性--》高级系统设置--》环境变量--》添加 或者执行 ``` set SASS_BINARY_PATH=D:\nodejs\tools\node-sass\win32-x64-46_binding.node ``` 再次执行 npm install 成功

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值