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
相关推荐
陈随易12 小时前
在 VSCode 里,把项目一键部署到服务器
前端·后端·程序员
Highcharts.js12 小时前
教程:基于 React + Highcharts 构建一个单页应用程序、按需数据拉取与图表渲染
开发语言·前端·数据结构·react.js·前端框架·highcharts·页面应用
To_OC13 小时前
我被 useState 坑了两次之后,终于把它的脾气摸透了
前端·javascript·react.js
鱼樱前端13 小时前
我用 Claude Code 后,编码效率翻 3 倍。但更值钱的是别的。
前端·后端·ai编程
_lucas13 小时前
给知识库网站接入AI问答
前端·ai编程·全栈
前端糕手14 小时前
前端面试题大全:JavaScript + Vue3 + React + TypeScript + 工程化 + 性能优化
前端
我不叫武15 小时前
一个用 Rust 写的离线编码查询桌面工具
前端
Web4Browser16 小时前
指纹浏览器 API 自动化怎么接:启动 Profile、获取 CDP 端点并连接自动化框架
前端·网络·typescript·自动化
Patrick_Wilson16 小时前
从 React 到 Flutter:写给前端的一张跨端知识地图
前端·flutter·react.js
颜酱16 小时前
06 | 把 meta_config 同步进 MySQL(生成阶段)
前端·人工智能·后端