【发布时间】:2022-07-22 10:09:47
【问题描述】:
我正在使用带有 Homebrew 的 Rosetta 2 并安装了 sqlite3。
我将这些添加到我的 ~/.zshrc 以便节点编译器可以找到 brew 安装:
export PATH="/usr/local/opt/sqlite/bin:$PATH"
export LDFLAGS="-L/usr/local/opt/sqlite/lib"
export CPPFLAGS="-I/usr/local/opt/sqlite/include"
我使用npm install sqlite3 进行安装,使用--build-from-source 标志从源代码构建,我还使用--sqlite=/usr/local/opt/sqlite/ 指定sqlite 的自制版本
node-gyp 转到其后备版本 node-pre-gyp install --fallback-to-build
安装后,我正在使用 electron-builder 和 install-app-deps 重建它的本机依赖项
它甚至可以重建为我正在寻找的平台和架构,darwin 和 x64。这是有希望的。
• electron-builder version=23.0.3
• loaded parent configuration preset=react-cra
• rebuilding native dependencies dependencies=sqlite3@5.0.8 platform=darwin arch=x64
但是,当使用运行concurrently " cross-env BROWSER=none npm start" "wait-on http://localhost:3000 && electron ." 的npm run dev 运行应用程序时
它仍在尝试找到它的 arm64 版本:
Error: Cannot find module '[..]/node_modules/sqlite3/lib/binding/napi-v6-darwin-unknown-arm64/node_sqlite3.node'
尽管我可以确认,它确实构建了 x64 版本,因为我有一个位于:
/napi-v6-darwin-unknown-x64/node_sqlite3.node
我们将不胜感激任何帮助来完成这项工作,谢谢!
【问题讨论】:
标签: node.js macos sqlite electron homebrew