我使用pkg打包了cli应用程序,它在macOS上可以正常运行,但不能在Windows上运行,并且抱怨keytar.node二进制文件。我正在使用安装在开发计算机(macOS)上的相同keytar.node也可以在Windows上运行。我想知道是否由于在不同的操作系统上编译本机节点二进制文件而引发错误?如果是这种情况,有没有办法使用keytar.node跨平台,而无需在单个操作系统上进行编译?
错误://?/C:/Users/alias/bin/keytar.node不是有效的Win32应用程序。
//?/ C:/Users/alias/bin/keytar.node
at Module.require (pkg/prelude/bootstrap.js:1229:31)
at Object.<anonymous> (C:/snapshot/pcas-cli/node_modules/keytar/lib/keytar.js:1:76)
at Module._compile (pkg/prelude/bootstrap.js:1324:22)
任何帮助将不胜感激。谢谢
答案 0 :(得分:0)
如果您使用 electron-builder
,请确保在 npx electron-builder install-app-deps --platform=win32 --arch=x64
之后运行 npm install
以获取适用于 Windows 的预构建 Keytar 二进制文件。