gpt4 book ai didi

ionic2 - 使用 Ionic2、串行端口和 Electron 生成器构建 Electron

转载 作者:行者123 更新时间:2023-12-03 12:30:00 29 4
gpt4 key购买 nike

我不确定哪个平台/工具是我问题的根源,所以在 SO 而不是 Git-Hub 存储库之一的问题上提出这个问题。我正在尝试开发一个基于 Polyonic 的项目. Polyonic 本身是一种 Electron 和 Ionic2 的种子混搭。我的项目也使用 node-serialport ,这是一个 native 模块。

我的开发版本是:
- 节点 7.4.0
- Electron 1.6.10

... 并运行 ionic info在我项目的 src 文件夹中给出:

global packages:

@ionic/cli-utils : 1.4.0
Cordova CLI : 7.0.1
Gulp CLI : CLI version 3.9.1 Local version 3.9.1
Ionic CLI : 3.4.0

local packages:

@ionic/app-scripts : 1.3.7
@ionic/cli-plugin-cordova : 1.4.0
@ionic/cli-plugin-gulp : 1.0.1
@ionic/cli-plugin-ionic-angular : 1.3.1
Cordova Platforms : browser 4.1.0
Ionic Framework : ionic-angular 3.3.0

System:

Node : v7.4.0
OS : Linux 4.6
Xcode : not installed
ios-deploy : not installed
ios-sim : not installed
npm : 4.0.5

如果我这样做 npm install在 src 目录中,然后是 npm install在根目录中, npm start在根目录中(在捆绑 Ionic 项目的 Polyonic 种子中运行 gulp 脚本),项目启动并完美运行,node-serialport 没有问题。

如果我然后通过运行 electron builder 构建可执行文件在我的项目的根目录中,然后运行可执行文件,在 Chrome DevTools 控制台中,我得到以下输出:
Uncaught Error: The module '/home/vic/git/MyProject/build/node_modules/serialport/build/Release/serialport.node'
was compiled against a different Node.js version using
NODE_MODULE_VERSION 51. This version of Node.js requires
NODE_MODULE_VERSION 53. Please try re-compiling or re-installing
the module (for instance, using `npm rebuild` or`npm install`).
at process.module.(anonymous function) [as dlopen] (ELECTRON_ASAR.js:173:20)
at Object.Module._extensions..node (module.js:598:18)
at Object.module.(anonymous function) [as .node] (ELECTRON_ASAR.js:173:20)
at Module.load (module.js:488:32)
at tryModuleLoad (module.js:447:12)
at Function.Module._load (module.js:439:3)
at Module.require (module.js:498:17)
at require (internal/module.js:20:19)
at bindings (/home/vic/git/MyProject/build/node_modules/bindings/bindings.js:76:44)
at Object.<anonymous> (/home/vic/git/MyProject/build/node_modules/serialport/lib/bindings.js:3:35)

我承认有 other related questions在建议使用 electron-rebuild 的 SO 上确保本地模块是针对 Electron 预期的节点版本构建的。但是如果我进入项目 src 文件夹,然后运行:
rm -rf node_modules/serialport/build/* 
node_modules/.bin/electron-rebuild -w serialport -f

...然后回到我的项目根文件夹并运行 npm start (它像以前一样正常运行),然后运行 electron-builder并运行可执行文件,在 Chrome DevTools 控制台中,我得到以下输出:
Uncaught Error: Cannot find module 'serialport'
at Module._resolveFilename (module.js:470)
at Function.Module._resolveFilename (/tmp/.mount_7laJTZ/usr/bin/resources/electron.asar/common/reset-search-paths.js:35)
at Function.Module._load (module.js:418)
at Module.require (module.js:498)
at require (internal/module.js:20)
at Object.<anonymous> (main.js:73788)
at __webpack_require__ (main.js:20)
at Object.<anonymous> (main.js:72414)
at __webpack_require__ (main.js:20)
at Object.<anonymous> (main.js:111408)

这感觉比我做 electron-rebuild 之前离工作更远了。事物。我哪里错了?任何帮助或建议将不胜感激。

最佳答案

如果您将在下一小时内将项目发送给我,我将调查问题所在。你不需要使用 electron-rebuild - electron-builder 会自动重建。 (我是 Electron 生成器维护者。)

关于ionic2 - 使用 Ionic2、串行端口和 Electron 生成器构建 Electron ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44873158/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com