4

我使用 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)

任何形式的帮助将不胜感激。谢谢

4

1 回答 1

2

如果您正在使用electron-builder,请确保npx electron-builder install-app-deps --platform=win32 --arch=x64npm install获取 Windows 的预构建 Keytar 二进制文件之后运行。

于 2021-07-28T00:21:04.087 回答