npm install运行报错npm ERR! gyp ERR! not ok问题解决

时间:2024-01-27 18:50:18

执行npm install的时候报错:

npm ERR! path D:..\node_modules\\**node-sass**
npm ERR! command failed
...

npm ERR! gyp ERR! node -v v20.11.0
npm ERR! gyp ERR! node-gyp -v v3.8.0
npm ERR! gyp ERR! not ok

在这里插入图片描述
在这里插入图片描述
根据报错信息,看出时node-sass运行出现问题
解决:

1.查看当前环境node版本
node -v

我这里是20.11.0

2.在package.json中查看node-sass的版本:
2.1package.json中有node-sass

我这里node-sass的版本是4.14.4
根据下图查看node和node-sass版本是否匹配
在这里插入图片描述
如果node和node-sass版本不符合,可以降低node版本,或者升高node-sass版本

2.2 如果pakage.json中没有node-sass,node-sass是由其他包引入的,比如sass-loader,直接升级node-sass会报错

ModuleBuildError: Module build failed (from ./node_modules/sass-loader/dist/cjs.js):
Error: Node Sass version 7.0.3 is incompatible with ^4.0.0.
在这里插入图片描述
上面的错误指出当前的sass-loader版本依赖的node-sass为^4.0.0版本,与当前安装的7.0.3版本不相容。
解决
方法1.降低node版本与对应的node-sass匹配
方法2.升级sass-loader,让其需要的node-sass版本升级到node需要的对应node-sass版本上。注意,如果使用这种方式,需要选择合适的版本,既要保证node-sass版本与node匹配,又要尽可能少的影响其他使用到的依赖的版本。
我这里将sass-loader改成了10.5.2版本,注意如果sass-loader版本大于等于11.0.0时webpack需要为5.0.0版本以上。