Electron中安装sqlite3(node-gyp)
适用环境
Windows11 23H2
Node.js 20.15.0
Python 3.11
pnpm 9.5.0
Visual Studio 2022 Professional
准备工作
确认已安装node、python等环境
node -v
npm -v
//使用npm安装sqlite3
npm install sqlite3
// 或者使用pnpm
npm install -g pnpm
pnpm add sqlite3
报错问题
#1)gyp ERR! stack Error: Cannot find module 'smart-buffer'
该报错与sqlite3无关,一般是项目中使用了sass导致的,直接安装包即可解决
npm install smart-buffer
#2)gyp ERR! find VS You need to install the latest version of Visual Studio
│ gyp ERR! find VS You need to install the latest version of Visual Studio
│ gyp ERR! find VS including the "Desktop development with C++" workload.
│ gyp ERR! find VS For more information consult the documentation at:
│ gyp ERR! find VS https://github.com/nodejs/node-gyp#on-windows
该报错原因为没有安装Visual Studio并且勾选使用C++的桌面开发
负载,下载安装Visual Studio即可,本文采用的是Visual Studio 2022 Professional
。
#3)gyp ERR! find VS - missing any Windows SDK
│ gyp ERR! find VS msvs_version not set from command line or npm config
│ gyp ERR! find VS VCINSTALLDIR not set, not running in VS Command Prompt
│ gyp ERR! find VS checking VS2022 (17.10.35027.167) found at:
│ gyp ERR! find VS "C:\Program Files\Microsoft Visual Studio\2022\Professional"
│ gyp ERR! find VS - found "Visual Studio C++ core features"
│ gyp ERR! find VS - found VC++ toolset: v143
│ gyp ERR! find VS - missing any Windows SDK
这个错误信息表明 node-gyp
在尝试找到并配置 Visual Studio 以编译原生模块时遇到了问题。尽管它已经找到了 Visual Studio 2022 的安装位置,并且确认了 Visual Studio C++ 核心功能和 VC++ 工具集(v143)的存在,但它没有找到一个可用的 Windows SDK。
在Visual Studio中勾选windows10 SDK,默认安装的windows 11 SDK无法正常识别。本文采用的是Windows 10 SDK(10.0.19041.0)
。
解决方案
使用python 3.11
安装VS2022,勾选
使用C++的桌面开发
负载,并且单独选中Windows 10 SDK(10.0.19041.0)
。执行
npm install sqlite3
或者pnpm add sqlite3
进行安装。