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
相关推荐
kyriewen6 小时前
别再 console.log 了:5 个 Chrome DevTools 调试技巧,用过就回不去了
前端·javascript·面试
IT_陈寒8 小时前
Python搞不定字符串编码?这破玩意坑我两小时!
前端·人工智能·后端
DigitalOcean9 小时前
Laravel 开发者已在 DigitalOcean 上开通超过 10 万台服务器
前端·laravel
星始流年10 小时前
从 Tool 到 Skill——基于 LangChain 的服务端Skill实现
前端·langchain·agent
李惟10 小时前
开源本地通信库,纯客户端 RPC,像聊天一样通信
前端
YAwu1110 小时前
深入解析 React 炫彩鼠标跟随标题组件:从坐标定位到动画性能
前端·react.js
GuWenyue10 小时前
排序效率低?5分钟吃透快速排序,性能飙升至O(nlogn)
前端·javascript·面试
OpenTiny社区10 小时前
🎨 看完 GenUI SDK 源码我悟了!
前端·vue.js·github
叁两10 小时前
前端转型AI Agent该如何学习?(前置篇)
前端·人工智能·node.js
何时梦醒10 小时前
深入理解递归与快速排序 —— 从基础入门到手写实现
前端·javascript