【npm】node-gpy 内嵌npm版本升级 (解决node-gpy 内嵌 npm版本过低识别不了2022 msvs_version版本问题)

【npm】node-gpy 内嵌npm版本升级 (解决node-gpy 内嵌 npm版本过低识别不了2022 msvs_version版本问题)

这次运行同学给我们的另一个vue项目的前端代码,配置环境,安装nodeJs和node-gpy,安装过后运行npm install 搭建项目,报错,首先报错error gyp ERR! stack Error: Could not find any Visual Studio installation to use ,未安装Visual Studio,按照 大佬的做法,在官网上下载了Visual Studio Build Tools,并安装了C++ 工具,最新版为2022版本,重新执行npm install

问题

仍然报错unknown version "undefined" found at "C:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTool,网上搜了下,发现是因为npm版本低了,识别不了最新的2022版本的 VS Build Tools,但是自己在命令行 node-gpy -v已经是最新版本,npm也是新的,单纯是更新npm update node-gyp -g或者$ npm install node-gyp@latest并没有效果

原因

又仔细观察,发现报错中显示的npm版本并不和我在命令行中查到的npm版本一致,就以上思路,终于找到https://github.com/nodejs/node-gyp/blob/main/docs/Updating-npm-bundled-node-gyp.md ,发现果然node-gpy会使用内嵌的npm,而这个内嵌的版本太低了,单纯外部升级命令并没有效果。

解决

windows的解决方法:(其他解决方法可以进链接看文档说明)
管理员身份执行,进入nodeJs的安装位置

$ cd "C:\Program Files\nodejs"

如果外部npm是7或者8(这个可以用npm -v 查看 ):

cd node_modules\npm\node_modules\@npmcli\run-script

小于7

cd node_modules\npm\node_modules\npm-lifecycle

在这两个文件夹下再运行更新命令

$ npm install node-gyp@latest

猜你喜欢

转载自blog.csdn.net/m0_54352040/article/details/127076859
今日推荐