我在资源生成器上遇到此错误:
Error: end() has already been called, so it's too late to start piping
我被这个错误困扰。当我尝试生成资源时显示:
PS F:\Desenvolvimento\Ionic\Divas> ionic cordova resources ios -f
√ Collecting resource configuration and source images - done!
√ Filtering out image resources that do not need regeneration - done!
√ Uploading source images to prepare for transformations: 2 / 2 complete - done!
- Generating platform resources: 8 / 32 complete
C:\Users\Gustavo\AppData\Roaming\npm\node_modules\ionic\node_modules\superagent\lib\node\index.js:859
throw Error("end() has already been called, so it's too late to start piping");
^
Error: end() has already been called, so it's too late to start piping
at Response.response.pipe (C:\Users\Gustavo\AppData\Roaming\npm\node_modules\ionic\node_modules\superagent\lib\node\index.js:859:13)
at Request.req.type.send.on.res (C:\Users\Gustavo\AppData\Roaming\npm\node_modules\ionic\lib\integrations\cordova\resources.js:166:25)
at Request.emit (events.js:182:13)
at Request._emitResponse (C:\Users\Gustavo\AppData\Roaming\npm\node_modules\ionic\node_modules\superagent\lib\node\index.js:862:8)
at ClientRequest.req.once.res (C:\Users\Gustavo\AppData\Roaming\npm\node_modules\ionic\node_modules\superagent\lib\node\index.js:412:10)
at Object.onceWrapper (events.js:273:13)
at ClientRequest.emit (events.js:187:15)
at HTTPParser.parserOnIncomingClient [as onIncoming] (_http_client.js:556:21)
at HTTPParser.parserOnHeadersComplete (_http_common.js:109:17)
at TLSSocket.socketOnData (_http_client.js:442:20)
我的系统:
Ionic:
ionic (Ionic CLI) : 4.7.1 (C:\Users\Gustavo\AppData\Roaming\npm\node_modules\ionic)
Ionic Framework : ionic-angular 3.9.2
@ionic/app-scripts : 3.2.0
Cordova:
cordova (Cordova CLI) : not installed
Cordova Platforms : android 6.3.0
Cordova Plugins : cordova-plugin-ionic-webview 1.1.1, (and 8 other plugins)
System:
NodeJS : v10.15.0 (C:\Program Files\nodejs\node.exe)
npm : 6.5.0
OS : Windows 10
答案 0 :(得分:18)
看起来我的图像尺寸不正确。我创建了一个更大尺寸的新图像,它可以正常工作。奇怪的是,没有关于它的消息。
答案 1 :(得分:8)
我遇到了完全相同的错误。我注意到我的icon.png(我创建的图标)是1024x916,它不喜欢它。我将其大小调整为恰好为1024x1024,现在可以正常使用!!!
答案 2 :(得分:7)
启动画面必须为2732×2732px(在此处查看:https://ionicframework.com/docs/cli/cordova/resources/)
答案 3 :(得分:2)
您的ionic版本存在问题,其中未记录资源生成中的确切错误。我认为这不是一个已知的错误。
现在,您可以运行npm i -g ionic@3
,然后再次运行命令。这将告诉您错误消息。完成后,再次运行npm i -g ionic
以更新到Ionic 4。
答案 4 :(得分:2)
理想情况下,源图标应至少为1024×1024px,并位于resources / icon.png。 初始屏幕的源图像理想上应至少为2732×2732px,并位于resources / splash.png中。
答案 5 :(得分:2)
只需调整大小
然后运行:-
As per the docs理想情况下,图标的源图像应至少为1024×1024px,并位于resources / icon.png。理想情况下,初始屏幕的源图像应至少为2732×2732px,并位于resources / splash.png。
答案 6 :(得分:0)
从资源中删除您的splash.png和icon.png文件,然后首先按照要求enter link description here转换您的splash和图标图像,然后将转换后的图像复制并替换到资源目录,然后执行 ionic cordova资源,只有不需要添加平台离子自动生成资源。
答案 7 :(得分:0)
我在linux上遇到了相同的错误:
我的新图标使用Alpha通道(我的错误),但出现此错误。 当我看到此线程时,我知道此工具可能非常明智。 我的图标(新旧)为512 * 512。我的垃圾邮件是2300 * 2400。 =>将所有图像设置为正确的尺寸无效。解决方案是使用gimp“展平”我的图像。
我的结论:不要在图片中使用Alpha通道