YARN 构建 ia32 依赖项

问题描述

我在 x64 架构上使用 Windows 10 专业版

我正在尝试使用 pkg 作为 x86 EXE 来编译我的 NodeJS 项目。我发现 pkg 的问题是它没有将 *.node 文件链接输出文件中。

我的项目使用 sqlite3ffi-napi/ref-napi。由于我在 x64 系统上,npm 会自动将这些包构建到 win32-x64 .node 文件中。我了解到我可以使用

解决这个问题
npm install package_name --build-from-source --target_platform=win32 --target_arch=ia32

这将为每个包准备 ia32(x86) 版本的 .node native add-on

现在,当我编译我的项目

pkg core.js --targets=node14-win-x86

并运行输出core.exe,我得到以下输出

Error: No native build was found for platform=win32 arch=ia32 runtime=node abi=72 uv=1 libc=glibc node=12.18.1
    loaded from: C:\snapshot\core\node_modules\ref-napi

我了解到这样做的原因是链接器从未将 ref-napi .node native add-on 包含到我的项目中。这样做可以缓解这种情况

yarn add ref-napi

这是我的问题出现的地方,在此命令完成后,我执行我的应用程序

Error: Cannot find module 'C:\snapshot\core\node_modules\sqlite3\lib\binding\napi-v3-win32-ia32\node_sqlite3.node'
Require stack:
- C:\snapshot\core\node_modules\sqlite3\lib\sqlite3-binding.js
- C:\snapshot\core\node_modules\sqlite3\lib\sqlite3.js
- C:\snapshot\core\core.js

这是因为在yarn的执行过程中,看到我的系统架构是x64。然后它从上面执行 ia32 .node删除先前编译的 npm install 文件,并在其位置放置一个 win32-x64 .node 文件

我的问题是 - 如何让 yarn 下载 ia32 .node 插件而不是 win32-x64

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)