如何解决YARN 构建 ia32 依赖项
我在 x64 架构上使用 Windows 10 专业版。
我正在尝试使用 pkg
作为 x86 EXE
来编译我的 NodeJS 项目。我发现 pkg
的问题是它没有将 *.node
文件链接到输出文件中。
我的项目使用 sqlite3
和 ffi-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
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 举报,一经查实,本站将立刻删除。