如何判断Windows环境下Node.js是MSVC版本还是MinGW版本?
查看Windows下Node.js的编译方式(GNU/MSVC)
以下几种方法可以快速确认Node.js的构建工具链:
使用process.config查看编译配置
直接在命令行执行:node -p process.config输出结果里找
target_defaults字段,若包含msvs_version(比如"msvs_version": "2022"),说明是用MSVC编译的;如果出现gcc_version或者编译参数里有-gcc相关标识,则是基于GNU工具链(比如MinGW)构建的。检查头文件中的编译宏
找到Node.js安装目录下的include/node/node.h文件,打开后搜索预编译宏:- 若存在
_MSC_VER宏定义,代表是MSVC编译 - 若存在
__GNUC__宏定义,代表是GNU工具链编译
- 若存在
通过native模块安装日志判断
安装一个需要编译的Node.js native模块(比如bcrypt),查看npm的安装日志:- 如果日志里出现
msbuild、Visual Studio相关内容,说明当前Node.js适配MSVC - 如果出现
gcc、mingw相关编译命令,则是GNU工具链版本
- 如果日志里出现
内容的提问来源于stack exchange,提问作者Rainb
相关产品推荐
相关产品推荐

