Node.js 配置 node-gyp 时报错 msvs_version / python is not a valid npm option 的解决方案

Node.js 配置 node-gyp 时报错 msvs_version is not a valid npm option 的解决方案

  • 0x01 起因
  • 0x02 导致原因 & 解决方法

此文章为原创文章,如转载请标明原作链接。
https://blog.csdn.net/qq_34718871/article/details/128731097
本作品采用 知识共享署名-相同方式共享 4.0 国际许可协议 (CC BY-SA 4.0) 进行许可。


0x01 起因

当我尝试使用如下命令设置 node-gyp 环境时,

npm config set -g msvs_version 2022

发生了报错,主要部分如下:

npm ERR! `msvs_version` is not a valid npm option

在设置 python 时也遇到了同样的问题:

npm ERR! `python` is not a valid npm option

我尝试列出了 npm 支持设置的所有配置,其中丝毫不见 msvs_versionpython 的踪影。继续翻遍了 node-gyp 的 Issues,没有发现类似的问题。又去 npm 那边找了一会,还是没有线索。

0x02 导致原因 & 解决方法

直到我注意到了 Stack OverFlow 的一个回答1,答主建议将 npm 版本降至 v8。这马上提醒了我,因为我使用的 npm 是 v9。

我尝试进行了降级操作:

npm install -g npm@^8

检查 npm 版本:

npm --version

确认降级成功!

随后重新尝试配置 node-gyp:

npm config set -g msvs_version 2022
npm config set -g python "C:\Program Files\Python\Python310\python.exe"

没有产生任何报错,配置成功辣!


  1. https://stackoverflow.com/questions/74522956 ↩︎

你可能感兴趣的:(node.js,npm)