当 运行 'ionic build ios' 在具有节点 7 的 macOS 上时,我卡在这条消息上:stdout maxBuffer exceeded。我该如何解决?

When running 'ionic build ios' on macOS with node 7 I get stuck on this message: stdout maxBuffer exceeded. How could I solve it?

我在尝试使用 ionic build ios 构建我的 iOS 应用程序时突然开始遇到这个问题。我不明白是什么原因造成的,因为它 运行 很好,然后在第二天我收到这条消息:

...
...
Running command: HC-Ionic/hooks/after_prepare/010_add_platform_class.js HC-Ionic

Running command: HC-Ionic/hooks/after_prepare/020_remove_sass_from_platforms.js HC-Ionic


stdout maxBuffer exceeded

  

我记得在这个问题开始发生之前做的唯一一件事就是有时使用应用程序 'n' 更改我的节点版本。但是我已经把版本都卸载了,设置对了,还是没搞清楚,网上搜了下。

这是我的系统信息:

Cordova CLI: 8.1.2 (cordova-lib@8.1.1)
Ionic CLI Version: 2.2.3
Ionic App Lib Version: 2.2.1
ios-deploy version: Not installed
ios-sim version: Not installed
OS: macOS
Node Version: v7.10.1
Xcode version: Xcode 12.4 Build version 12D4e

此配置是必需的,因为我的应用程序仅使用此节点版本运行。

有没有人有什么想法?

v 12.x 之前的节点版本使用默认的 maxBuffer 值 1 KB (source),这非常小。

后来的版本将默认 maxBuffer 增加到 1 兆字节 (source) - 你真的应该考虑升级,因为你 运行 的 Node 版本太老了(EOL'd 2017 年),至少按照软件标准。

我找到了解决办法。显然我在 xcode 上有太多模拟器,这超出了构建中的 json。如果列表超过 200kb,则节点 7 不会编译。只是删除了一些不必要的模拟器并且它起作用了。