前言 在通过 node-gyp 打包 C++ 集成的 node 插件时,遇到了挺多坑点,网上大部分资料都是针对低版本的 node-gyp 进行处理,时效性较差,因此通过书写文章的形式整理自己踩过的坑点。 node-gyp 是什么? node-gyp 是一个可以编译 node 插件的工具,在使用 node-gyp 前需要安装 python 环境和 C++ 环境 如何安装 1 安装 windows-build-tools 查阅了网上大部分文章,windows-build-tools 这个 npm 包可以帮助我们一键安装 node-gyp 所需要的 python 环境和 C++ 环境。 但 windows-build-tools npm 包已经不维护了。如需要继续使用的话,我们可以将 python2.7 替换成 python3, 在安装 C++ 环境 具体步骤如下: 1 采用管理员模式开启 CMD 或者 powerShell, 安装 windows-build-tools npm install --global --production windows-build-tools 2 如果遇到了 successfully installed python 卡主 不要慌,疑似 window-build-tools 自带的bug,可查看相关issue链接 解决方案: 1 打开资源管理器(左下角搜索-资源管理器或者直接window+E),在路径处输入%temp% 2 在%temp%文件夹中找到最新的文件名类似于dd_installer_20211126145101.log的文件,查看此文件,确保日志中输出了Closing the installer with exit code 0 3 在%temp%目录下创建一个名为dd_client_.log的文件 4 编辑创建的文件,加入一行Closing installer. Return code: 3010.然后保存。 5 回到执行安装命令的窗口,会继续安装windows-build-tools的步骤 2 安装 python3 网上部分文章说 node-gyp 应该用 python 版本 2.7 版本,可能是因为时效性的问题,目前 python2 已经不在维护了,并且 node-gyp 在官方文档上也说明应该用 python3。 1 在 C 盘 Users 目录下的 .windows-build-tools, 找到python相关的 msi 文件, 打开并卸载掉 python2, 因为 node-gyp@9 版本对应是 python3 的版本 2 安装 python3 环境并配置环境变量 传送门 3 安装 C++ 环境 点击 vs_BuildTools.exe 安装环境的方式有 2 种: ![]() 方案1: Install Visual C++ Build Environment Visual Studio Build Tools 方案2: 使用 visual studio community 安装c++桌面开发工具(我是用的这种方式) 4 安装 node-gyp npm install -g node-gyp 常见问题的解决 1 python not found - had to configure it manually in npm ![]() 如果小伙伴已经安装了 python, 查看版本是否是 python3 的版本并且设置了环境变量 ![]() 2 如何打包 C++ 集成的插件npm config set msvs_version 2017node-gyp configure node-gyp build复制代码 参考文档 Windows下node-gyp查找VS安装路径简单解析 node-gyp官方文档 windows-build-tools npm文档 npm安装windows-build-tools时卡在Successfully installed Python 2.7 安装 C++ 环境 python not found - had to configure it manually in npm |
|
来自: LibraryPKU > 《Dev》