前言 在通過 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》