Electron开发安装better-sqlite3环境准备(windows)

-----废话不多说,直接上干货

环境装备

  1. 安装 nvm (node 版本管理工具)
  2. 安装 node
shell 复制代码
nvm list available

|   CURRENT    |     LTS      |  OLD STABLE  | OLD UNSTABLE |
|--------------|--------------|--------------|--------------|
|    22.0.0    |   20.12.2    |   0.12.18    |   0.11.16    |
|    21.7.3    |   20.12.1    |   0.12.17    |   0.11.15    |
|    21.7.2    |   20.12.0    |   0.12.16    |   0.11.14    |
|    21.7.1    |   20.11.1    |   0.12.15    |   0.11.13    |
|    21.7.0    |   20.11.0    |   0.12.14    |   0.11.12    |
|    21.6.2    |   20.10.0    |   0.12.13    |   0.11.11    |
|    21.6.1    |    20.9.0    |   0.12.12    |   0.11.10    |
|    21.6.0    |   18.20.2    |   0.12.11    |    0.11.9    |
|    21.5.0    |   18.20.1    |   0.12.10    |    0.11.8    |
|    21.4.0    |   18.20.0    |    0.12.9    |    0.11.7    |
|    21.3.0    |   18.19.1    |    0.12.8    |    0.11.6    |
|    21.2.0    |   18.19.0    |    0.12.7    |    0.11.5    |
|    21.1.0    |   18.18.2    |    0.12.6    |    0.11.4    |
|    21.0.0    |   18.18.1    |    0.12.5    |    0.11.3    |
|    20.8.1    |   18.18.0    |    0.12.4    |    0.11.2    |
|    20.8.0    |   18.17.1    |    0.12.3    |    0.11.1    |
|    20.7.0    |   18.17.0    |    0.12.2    |    0.11.0    |
|    20.6.1    |   18.16.1    |    0.12.1    |    0.9.12    |
|    20.6.0    |   18.16.0    |    0.12.0    |    0.9.11    |
|    20.5.1    |   18.15.0    |   0.10.48    |    0.9.10    |
 
 nvm install {version}
 
 nvm on
 
 nvm use {version}
  1. 初始化 node 编译环境
    • cd %NVM_SYMLINK% 或者 cd C:\Program Files\nodejs
    • 双击 install_tools.bat(此过程会打开 powershell 等待 install 成功)
  2. 安装 node-gyp
shell 复制代码
npm install -g node-gyp
  1. 安装 pnpm (根据自己项目是否需要,选择安装, 以下都是以 pnpm 角度解决问题)
shell 复制代码
npm install -g pnpm
  1. 安装 better-sqlite3
shell 复制代码
pnpm add better-sqlite3 --save -w  或者 npm install better-sqlite3 --save

已知错误

windows

《问题 一》执行上述步骤 2 时, 会安装 python 最新版本

  • node-gyp version <= 10.1.0 依赖了 python 标准库中的 distutils 包;
  • distutils 在 python version >= 3.10.* 版本中移除了 distutils 包
  • pip 中目前(2021-4-28)没有改包

综上 解决方案: 降低 python 版本

《问题 二》

  • 执行上述步骤 2 时,需要网络畅通;
  • 如果执行失败
  • 删除 C:\ProgramData\chocolatey 及 C:\ProgramData\ChocolateyHttpCache 两个目录;
  • 重新 执行步骤 2
  • 待出现 EXIT log时,代表成功。 此时 powershell 并不会自动关闭。

pnpm 已知问题

  • 如果是 nvm 安装的 node, 则 打开 %NVM_HOME%\v${version}\node_modules\pnpm\bin\pnpm.cjs
  • 将 第一行 #!/usr/bin/env node 替换 为 #!node
相关推荐
终端鹿3 分钟前
Vue2 迁移 Vue3 避坑指南
前端·javascript·vue.js
程序员陆业聪7 分钟前
工程师的瓶颈,已经不是代码了
前端
毛骗导演23 分钟前
@tencent-weixin/openclaw-weixin 源码ContextToken 持久化改造:实现微信自定义消息发送能力
前端·架构
爱丽_23 分钟前
Pinia 状态管理:模块化、持久化与“权限联动”落地
java·前端·spring
SuperEugene1 小时前
TypeScript+Vue 实战:告别 any 滥用,统一接口 / Props / 表单类型,实现类型安全|编码语法规范篇
开发语言·前端·javascript·vue.js·安全·typescript
我是永恒1 小时前
上架一个跨境工具导航网站
前端
电子羊1 小时前
Spec 编程工作流文档
前端
GISer_Jing1 小时前
从CLI到GUI桌面应用——前端工程化进阶之路
前端·人工智能·aigc·交互
还是大剑师兰特2 小时前
Vue3 报错:computed value is readonly 解决方案
前端·vue.js
leaves falling2 小时前
有效的字母异位词
java·服务器·前端