【问题标题】:ElectronJS: npm ERR! errno 4294930435ElectronJS:npm 错误!错误号 4294930435
【发布时间】:2021-04-27 04:22:43
【问题描述】:

我有这个 ElectronJS 项目,我终于设法正确构建(构建时没有错误)。但是当我尝试启动它时,我得到了这个错误:

npm ERR! code ELIFECYCLE
npm ERR! errno 4294930435
npm ERR! movie-ex-gui@1.0.0 start: `electron dist/main.js`
npm ERR! Exit status 4294930435
npm ERR! 
npm ERR! Failed at the movie-ex-gui@1.0.0 start script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     C:\Users\Anoneemo\AppData\Roaming\npm-cache\_logs\2021-01-22T16_56_16_185Z-debug.log

我也无法理解 debug.log 文件。

但是当我尝试使用 electron dist/main.js --enable-logging 而不是 npm start 脚本启动应用程序时,我在控制台中得到了这个: [16724:0122/180054.390:ERROR:crashpad_client_win.cc(808)] not connected。我已经尝试删除node_modules 文件夹,再次安装,验证缓存,重新启动计算机以及我可以在谷歌上挖掘的几乎所有内容。

有谁知道这里可能出了什么问题?在我在构建时出现错误之前它启动得很好。然后我在构建时遇到错误,并通过简单地向我的 webpack babel-loader 添加排除来修复它。然后它构建得很好,但根本不会启动。整个项目可以在这里找到:movie-ex

任何线索任何人?提前致谢!

【问题讨论】:

  • 从 Electron 8.1.0 升级到 11.2.0 后我遇到了完全相同的问题,我将其缩小到在“新 BrowserWindow”->“icon”设置中使用“__dirname”。虽然注释该行可以清除错误,但需要找到解决方案。
  • @Midnight-Coding 将其作为答案发布。这实际上有效,删除了图标线。你是如何将问题追溯到那条线的? :o 编辑:既然你说这是问题所在,我尝试将其添加到我的 webpack 配置中: node: { __dirname: true, __filename: true } 这也有效,而不是注释掉该行
  • 好消息。这是一个消除过程,用旧的 console.log("Test"); 替换文件的某些部分;线。我会添加它作为答案。

标签: node.js npm electron


【解决方案1】:

注意我不使用 webpack,在将 Electron 从 v8.1.0 升级到 v11.2.0 后,我收到了完全相同的错误

我的错误似乎源于在 Electron“new BrowserWindow”->“icon”设置中使用“__dirname”变量。

当您使用模块时,我怀疑它可能与“new BrowserWindow -> webPreferences -> nodeIntegration”和“contextIsolation”范围设置有关,因此您需要在“webpack.config”中设置__dirname: true .js”文件(参考:https://webpack.js.org/configuration/node/

PS:我对更新后的 Electron “nodeIntegration”和“contextIsolation”设置并不满意,因为我今天早上才在很长一段时间内第一次更新了我的应用程序并了解了更改/待定的默认设置(s ) Electron v12。

更多信息可以在下面找到:


有趣的是,我原来的“图标”值是icon: __dirname + '',。我在开发的早期就设置了这个,后来忘了把它指向一个正确的 *.ico 文件。

我刚刚创建了一个“icon.ico”文件并相应地设置了“icon”值。

icon: __dirname + '/../../../icons/icon.ico'这似乎有效。

作为替代方案,我还尝试了以下方法(注释掉了“icon”行)。

win.setIcon(__dirname + '/../../../icons/icon.ico'); 这也行得通。

自我注意:重构路径 -> 加入函数

重要提示: 总而言之,我目前设置了nodeIntegration: true。最好在升级到 Electron v12 之前解决这个问题。

【讨论】:

    【解决方案2】:

    这可能会有所帮助,有时您使用的电子版本会导致问题 https://github.com/JoshuaWise/better-sqlite3/issues/694#issuecomment-921933629

    【讨论】:

    • 虽然此链接可能会回答问题,但最好在此处包含答案的基本部分并提供链接以供参考。如果链接页面发生更改,仅链接答案可能会失效。 - From Review
    猜你喜欢
    • 2011-03-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-24
    • 1970-01-01
    • 2023-03-30
    • 2011-09-10
    相关资源
    最近更新 更多