node.js - 无法在电子锻造应用程序中使用本机节点模块
问题描述
我正在尝试在使用webpack模板通过电子锻造创建的电子应用程序中使用 pkcs11js。
但我得到了错误
Error: C:\ws-p\electron-test\.webpack\main\349a63bd9833f80e7879a5bbfb2a4af2.node is not a valid Win32 application.
←[90m at Object.Module._extensions..node (internal/modules/cjs/loader.js:1122:18)←[39m
←[90m at Module.load (internal/modules/cjs/loader.js:928:32)←[39m
←[90m at Function.Module._load (internal/modules/cjs/loader.js:769:14)←[39m
←[90m at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:72:12)←[39m
←[90m at internal/main/run_main_module.js:17:47←[39m
周围有很多问题,但到目前为止,没有一个提供的解决方案/答案对我有用。
这些都没有解决:
- 删除并重新安装 node_modules
- 使用
electron-rebuild
(尽管电子锻造在内部使用它) - 手动使用
node-gyp rebuild --target=13.1.0 --arch=x64 --dist-url=https://electronjs.org/headers
包 - 电子文档中定义的 Npm 步骤
环境:
Windows 10 Pro
Node 14.16.1
electron: 13.1.0
electron-rebuild: 2.3.5
electron-forge: 6.0.0-beta.57
pkcs11js: 1.2.4
解决方案
网络上的解决方案都不适合我。有效的方法是将electron-gyp
输出文件夹定义为 home 之前electron-rebuild
或在安装依赖项之后/之前使用电子伪造。
在终端中:
视窗:
set HOME=C:\Users\YourUser\.electron-gyp
npm i
npm run start <# which resolves to electron-forge start #>
Unix:
$ export HOME=~/.electron-gyp
$ npm i
$ npm run start # which resolves to electron-forge start
我希望它对某人有帮助
推荐阅读
- reactjs - 如何在 React 动画中跟踪元素位置值?
- javascript - 尝试将 tensorflow.js 导入浏览器应用程序时无法在模块外使用 import 语句
- typescript - 在 TypeScript 中为文字添加类型
- windows - Windows 帐户密码哈希位置
- python - 从数据库中获取二进制变量的自动化方法
- python - 使用多个子字符串匹配合并两个数据帧
- drupal-8 - 在评分模块 Drupal 8-9 的单独视图中计算每个喜欢/不喜欢的投票
- node.js - 相同的 websocket url 适用于 'ws' lib,但不适用于 socket-io。为什么?
- java - JNA 结构可以支持不变性吗?
- php - 如何从 instagram.com/user/?__a=1 获取 json