解决npm install报错: No module named gyp

今天运行一个以前vue项目,启动时报错如下:

ERROR Failed to compile with 1 error上午10:19:33

error in ./src/App.vue?vue&type=style&index=0&lang=scss&

Syntax Error: Error: Missing binding D:\javacode\Springboot-MiMall-RSA\VueFront\node_modules\_node-sass@4.14.1@nod e-sass\vendor\win32-x64-83\binding.node

Node Sass could not find a binding for your current environment: Windows 64-bit with Node.js 14.x

Found bindings for the following environments:

  • Windows 64-bit with Node.js 12.x

This usually happens because your environment has changed since running `npm install`.

Run `npm rebuild node-sass` to download the binding for your current environment.

大致意思是:因为我把node 12升级成了14, Node Sass库的兼容性出问题了。

我当时没多想,就把node_modules目录删除了,重新运行npm install,结果报错:

No module named gyp

网上查了一些资料说解决办法如下:

1. 指定python2.7路径:npm config set python python2.7

  1. 运行:npm install --no-optional

以上参考:https://spin.atomicobject.com/2019/03/27/node-gyp-windows/

但是两个方法都试过了,全部无效。

后来在一篇文章:node-sass,sass-loader,node-gyp,node报错,版本对应问题

找到解决办法: 原来node版本跟node-sass有对应关系:

我之前的node-sass版本是4.12.0,把它修改成4.14.1 ,然后重新npm install就解决问题了

此时我突然想起我启动时第一次的报错:

RSA\VueFront\node_modules\_node-sass@4.14.1@nod e-sass\vendor\win32-x64-83\binding.node

Node Sass could not find a binding for your current environment: Windows 64-bit with Node.js 14.x

Found bindings for the following environments:

  • Windows 64-bit with Node.js 12.x

This usually happens because your environment has changed since running `npm install`.

Run `npm rebuild node-sass` to download the binding for your current environment.

上面的提示其实写清楚了需要node-sass@4.14.1来匹配Node.js 14.x,建议修复命令:npm rebuild node-sass来修复。

我在想如果一开始我就运行:npm rebuild node-sass 这跟命令,也许问题就解决了

相关推荐
蟾宫曲15 小时前
Node.js 工具:在 Windows 11 中配置 Node.js 的详细步骤
windows·npm·node.js·前端工具
滚雪球~1 天前
npm error code ETIMEDOUT
前端·npm·node.js
沙漏无语1 天前
npm : 无法加载文件 D:\Nodejs\node_global\npm.ps1,因为在此系统上禁止运行脚本
前端·npm·node.js
风度前端1 天前
理解npm中的包和模块
前端·npm
敲啊敲95272 天前
5.npm包
前端·npm·node.js
蜜獾云2 天前
npm淘宝镜像
前端·npm·node.js
dz88i82 天前
修改npm镜像源
前端·npm·node.js
小王码农记2 天前
解决npm publish发布包后拉取时一直提示 Couldn‘t find any versions for “包名“ that matches “版本号“
前端·npm·node.js
Elena_Lucky_baby3 天前
sass、scss、less、的区别
less·sass·scss
樊南4 天前
npm安装electron依赖时卡顿,下载不下来
前端·electron·npm