npm install报错,尝试各种办法最后发现是node版本不对应

1,788 阅读2分钟

踩了个大坑,debug了一天多都卡在npm install上面。记录一下遇到的问题以及解决方法。

跑了一个之前较旧的项目,npm/cpm/pnpm install都报错。

报错包括

gyp verb check python checking for Python executable "python2" in the PATH npm ERR! gyp verb which failed Error: not found: python2

Cannot read properties of null (reading 'fsTop')

While resolving: sass-loader@8.0.2 npm ERR! Found: node-sass@7.0.1 npm ERR! node_modules/node-sass npm ERR! node-sass@"^7.0.1" from the root project

Conflicting peer dependency: webpack@5.66.0 npm ERR! node_modules/webpack npm ERR! peer webpack@"^5.0.0" from sass-loader@12.4.0 npm ERR! node_modules/sass-loader npm ERR! dev sass-loader@"*" from the root proj

While resolving: vue@0.1.0 npm ERR! Found: webpack@4.46.0 npm ERR! node_modules/webpack

Error: spawn C:\Program Files\Microsoft Visual Studio\2022\Community\MSBuild\15.0\Bin\MSBuild.exe ENOENT

Unsupported platform for n@8.0.2: wanted {"os":"!win32"} (current: {"os":"win32","arch":"x64"})

'2017' │ gyp ERR! configure error │ gyp ERR! stack Error: gyp failed with exit code: 1

Syntax Error: Error: Node Sass does not yet support your current environment: Windows 64-bit with Unsupported runtime (93)

导致我安装卸载安装卸载多遍node,npm,还有python2,python3, webpack,还有Microsoft Visual Studio,gyp啊,还有node sass。特别是VS code installer,鼓捣了好久,安装卸载修复。但是不管怎么样就是说找不到python2以及找不到VS studio里面的15.0文件夹。

按照网上的各种教程,我重复安装多遍npm install --global --production windows-build-tools这个windows build tools,然后镜像淘宝链但是还是无法成功安装。


重点在于以上都是坑。其实这些根本就不是主要问题。

解决的方法不是看CMD报错,而是自己用nvm找到对应的node版本。

简单来说,项目使用的node sass和sass loader版本比较老旧,不能用最新的node版本。

要安装nvm控制node版本,找到你现在package.json里面对应的node -sass版本以及sass-loader的版本。我找到的是 "node-sass": "^4.14.1",和"sass-loader": "^8.0.2",然后根据表格安装node 14

然后在cmd里面跑一下

nvm list available

nvm install 14.5.2

nvm use 14.18.3

再去跑npm install就解决了。

但是现在我的各种依赖依旧乱七八糟,webpack还在给我弹warning说版本不对应。

建议大家如果遇到问题先查看一下node版本再debug

参考了这篇文章:juejin.cn/post/704152…

第一次在掘金发文章。