分享

windows 下 node-gyp 的环境配置

 LibraryPKU 2023-04-03 发布于北京

前言

在通过 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 卡主

20210523095213711.png

不要慌,疑似 window-build-tools 自带的bug,可查看相关issue链接

image.png

解决方案:

1 打开资源管理器(左下角搜索-资源管理器或者直接window+E),在路径处输入%temp%

image.png

2 在%temp%文件夹中找到最新的文件名类似于dd_installer_20211126145101.log的文件,查看此文件,确保日志中输出了Closing the installer with exit code 0

image.png

3 在%temp%目录下创建一个名为dd_client_.log的文件

image.png

4 编辑创建的文件,加入一行Closing installer. Return code: 3010.然后保存。

image.png

5 回到执行安装命令的窗口,会继续安装windows-build-tools的步骤

image.png

2 安装 python3

网上部分文章说 node-gyp 应该用 python 版本 2.7 版本,可能是因为时效性的问题,目前 python2 已经不在维护了,并且 node-gyp 在官方文档上也说明应该用 python3。

1 在 C 盘 Users 目录下的 .windows-build-tools, 找到python相关的 msi 文件, 打开并卸载掉 python2, 因为 node-gyp@9 版本对应是 python3 的版本

image.png

image.png

2 安装 python3 环境并配置环境变量 传送门

3 安装 C++ 环境

点击 vs_BuildTools.exe

image.png

安装环境的方式有 2 种:

image.png

方案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

image.png

如果小伙伴已经安装了 python, 查看版本是否是 python3 的版本并且设置了环境变量

image.png

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

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多