Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js Electron app.on(';ready';…从未被调用,Electron窗口从未显示。似乎与特定的Git存储库绑定 总结_Node.js_Windows_Git_Electron - Fatal编程技术网

Node.js Electron app.on(';ready';…从未被调用,Electron窗口从未显示。似乎与特定的Git存储库绑定 总结

Node.js Electron app.on(';ready';…从未被调用,Electron窗口从未显示。似乎与特定的Git存储库绑定 总结,node.js,windows,git,electron,Node.js,Windows,Git,Electron,我是Electron开发的新手,在创建Electron应用程序的工作中帮助领导了一个小项目。在Git存储库中工作了一天左右后,Electron窗口突然停止出现。我确定我在app.on('ready'callback)中给出的函数回调永远不会被调用 我的工作站设置: NodeJS版本:12.9.0(也使用10.16.3进行了测试) 纱线版本:1.17.3 操作系统:Windows 10企业版 最初,当Electron开始出现故障时,我对如何使用Electron with React没有太多兴趣,但

我是Electron开发的新手,在创建Electron应用程序的工作中帮助领导了一个小项目。在Git存储库中工作了一天左右后,Electron窗口突然停止出现。我确定我在
app.on('ready'callback)
中给出的函数回调永远不会被调用

我的工作站设置: NodeJS版本:12.9.0(也使用10.16.3进行了测试) 纱线版本:1.17.3 操作系统:Windows 10企业版

最初,当Electron开始出现故障时,我对如何使用Electron with React没有太多兴趣,但后来我切断了一个全新的Git分支,只建立了一个极其简单的Electron项目,同样的问题也出现了

Electron在系统范围内不会以同样的方式出现故障。我能够完美地运行。此外,我在一个旧的测试目录中试验Electron仍然可以运行

当我尝试运行断开的electron存储库时,Task Manager会在命令行进程下显示三个electron进程作为子进程。当我运行运行运行良好的electron进程时,electron进程显示为父进程

我通过在函数中放置
console.log
语句以及分配回调时的print语句来确认从未调用“ready”回调函数。正在访问回调分配print语句,我可以在控制台上看到输出,但回调中的print语句函数永远不会到达,输出永远不会打印到控制台

故障排除 在这一点上,我已经完成了许多故障排除步骤:

疑难解答:我删除并重新克隆了计算机上其他位置的Git存储库 结果:问题仍然存在

疑难解答:让程序运行一段时间,可能需要在准备好之前设置一些内容 结果:10分钟以上后,无变化

疑难解答:我下载了electron api演示库,以查看electron是否在该项目中工作 结果:electron api演示完全符合预期

疑难解答:我已将我的电子版从“^6.0.3”降级为“^6.0.1”,该版本适用于我计算机上的其他项目 结果:问题仍然存在

疑难解答:我创建了一个新的空Git分支,没有代码,并试图在我所看到的问题所在的Git存储库中创建一个新的最小electron项目 结果:问题再次出现

故障排除:完全重新安装Node JS,将最新版本从12.x更改为10.x LTS 结果:没有变化

疑难解答:克隆并尝试在Ubuntu虚拟机中运行该项目 结果:成功,项目按预期工作

疑难解答:要求同事在其Windows 10计算机上安装project 结果:成功,同事无法重新生成我的问题

代码 我建立了一个非常小的项目来重新制作这个问题。以下是我当前的项目:

package.json

{
  ...
  "main": "main.js",
  "scripts": {
    "electron-start": "electron ."
  },
  "devDependencies": {
    "electron": "^6.0.3"
  },
  ...
}
main.js

const{app,BrowserWindow}=require('electron'))
函数createWindow(){
log(“在准备就绪的回调中”);//用于疑难解答
win=新浏览器窗口({宽度:800,高度:600})
win.loadFile('index.html')
}      
console.log(“函数外部”);//用于故障排除
应用程序打开('ready',createWindow)
index.html


你好,世界!
当我运行
启动时
,以下内容会打印到我的控制台:

yarn run v1.17.3
$ electron .

 outside the function
从未到达on ready回调内部的print语句。未发出任何错误

结论
在这一点上,我怀疑我的计算机上有什么东西出了问题。这段代码运行的Git存储库似乎也在引发问题。我在谷歌上搜索了很多次,没有找到其他人面临这个问题。我唯一能想到的就是试着废弃整个Git存储库并创建一个新的(可能是也可能不是),并将我的计算机带到技术支持部门进行可能的更换。如果有任何关于如何继续的线索,我们将不胜感激。谢谢

好的,因此我最终找到了解决方案。此错误是由于尝试使用安装额外的devtools引起的。我发现错误是由于%AppData%/ele中的数据被遗留造成的ctron目录和%AppData%/[projectname]目录。删除这两个目录可以解决此问题。

解决方法:调用
app.removeAllListeners('ready')
app.on('ready',createWindow)之前

您好,我对纱线没有太多经验,但是您可以尝试用npm来启动您的应用程序吗?例如,
npm run electron start
。如果这没有帮助,我建议在中创建一个问题。顺便说一句,您自己在故障排除方面做得非常好+1。非常感谢您。我一直在尝试找到解决方案几天来,你的评论终于让我走上了正确的轨道。对于其他任何发现这一点的人,一个问题已经提交:。这个问题与windows 10的黑暗模式有关,是我生命中两个小时内的一个错误,因为这个…啊!谢谢你发布你的解决方案!我将添加到这个…你只需要删除
开发人员工具扩展名
%APPDATA%/[projectname]
中的文件
%APPDATA%/[projectname]
我发现了这个问题,这要归功于“ready never called”部分。我的应用程序运行完全符合描述,清除这些缓存目录立即起到了作用。非常感谢!你是如何找到解决方案的?多亏了你,我节省了很多时间。谢谢。有什么原因可以这样做,或者有什么想法会导致其他问题吗?首先,它似乎会影响扩展加载-我正在考虑“TypeError:BrowserWindow.addDevToolsExtension不是评估时的函数(网页包内部:///