离子科尔多瓦构建 ios 中的新 SubprocessError 错误

Posted

技术标签:

【中文标题】离子科尔多瓦构建 ios 中的新 SubprocessError 错误【英文标题】:Error at new SubprocessError in ionic cordova build ios 【发布时间】:2019-08-31 11:03:13 【问题描述】:

我准备在Mac上搭建ios平台,遇到了这个问题。

我使用 macOS 10.12、Xcode 8 和 Ionic 4。我尝试了 "ionic cordova platform rm ios""ionic cordova platform add ios" 并进行了构建,但仍然无法正常工作。

Daos-Mac:Ionic_UI_V1 daovu$ ionic cordova build ios

ng run app:ionic-cordova-build --platform=ios

新的 SubprocessError 错误 (/usr/local/lib/node_modules/ionic/node_modules/@ionic/utils-subprocess/dist/index.js:40:23) ...

【问题讨论】:

你能添加离子信息的截图吗 哦,是我的错,我的节点模块文件夹出错了,我已经被新项目的节点模块覆盖了。感谢您的帮助! @VũMinh 你是正确的覆盖为我工作 【参考方案1】:

删除node_modules文件夹和package-lock.json文件,然后运行npm install

问题会解决的

【讨论】:

【参考方案2】:

试试:--

1) 移除ios平台:

ionic cordova platform rm ios

2) 添加ios平台:

ionic cordova platform add ios

3) 准备ios平台(发送源码到ios平台)

ionic cordova prepare ios

4) 运行构建和安装:

Open xcode - select profile - run application

【讨论】:

我已按照您的指示进行操作,但在第 3 步遇到了同样的问题:“ionic cordova prepare ios”。 MacOS 10.12 不支持 Xcode 10。不过,我已经解决了这个问题,非常感谢。现在,我被困在第 4 步,终端说“文件 /Users/daovu/Downloads/Ionic_UI_V2/xcode ... /Users/daovu/Downloads/Ionic_UI_V2/application 不存在。” 我在第 4 步遇到了同样的问题。在新的 SubprocessError (/Users/admin/Desktop/SanctionRulesAppSVN/node_modules/@ionic/utils-subprocess/dist/index.js:40 :23) 在 ChildProcess.emit (events.js:193:13) 在 ChildProcess.p.on (/Users/admin/Desktop/SanctionRulesAppSVN/node_modules/@ionic/utils-subprocess/dist/index.js:128:27) ) 在 Process.ChildProcess._handle.onexit (internal/child_process.js:266:5) 处可能关闭 (internal/child_process.js:1001:16) 我只是在 ionic 4 中创建新项目并在 ios 中运行。它工作正常。 但我正在使用所有更新版本,如 xcode 10【参考方案3】:

我在装有 Ionic v4/XCode 10.2.1 的 Mac 10.14.5 上安装 Calendar Plugin 时遇到了这个问题。

ionic cordova plugin add cordova-plugin-calendar
> cordova plugin add cordova-plugin-calendar
Error

at new SubprocessError
(/Users/brippe/.npm-packages/lib/node_modules/ionic/node_modules/@ionic/utils-subprocess/dist/index.js:40:23)
at ChildProcess.<anonymous>
(/Users/brippe/.npm-packages/lib/node_modules/ionic/node_modules/@ionic/utils-subprocess/dist/index.js:113:27)
at ChildProcess.emit (events.js:200:13)
at Process.ChildProcess._handle.onexit (internal/child_process.js:270:12)
at onErrorNT (internal/child_process.js:456:16)
at processTicksAndRejections (internal/process/task_queues.js:84:9)

我通过运行解决了它:

npm uninstall -g cordova

然后再次重新安装cordova

npm install -g cordova

终于成功安装日历插件了:

ionic cordova plugin add cordova-plugin-calendar
> cordova plugin add cordova-plugin-calendar

You have been opted out of telemetry. To change this, run: cordova telemetry on.
Adding cordova-plugin-calendar to package.json

我正在使用Capacitor,所以我的构建过程在我同步后仍然正常运行。

npx cap sync

【讨论】:

【参考方案4】:

Xcode 11.4、Ionic 6.7.0

在我的情况下,错误是我在根级别有一个名为“iOS”的文件夹,这就是为什么,cordova 在 iOS 项目之间感到困惑。重命名或删除它会解决问题。

【讨论】:

【参考方案5】:

尝试删除“node_modules”文件夹并运行npm install

【讨论】:

你能详细说明一下这篇文章吗?这不包括关于全局和本地模块以及在哪里寻找它们的提示。【参考方案6】:

在我的例子中,执行npm audit fix 命令解决了这个问题。 这可能是一个简单的依赖失败

【讨论】:

在我的情况下,这会导致问题,在审计项目停止后......

以上是关于离子科尔多瓦构建 ios 中的新 SubprocessError 错误的主要内容,如果未能解决你的问题,请参考以下文章

离子 ios 应用程序无法访问互联网

无法在终端中构建应用程序,只能使用 Android Studio。 (离子,科尔多瓦)

离子科尔多瓦构建错误无法解析配置':classpath'的所有工件无法下载com.android.tools.build:builder:3.3.0

后台服务科尔多瓦离子应用程序。背景插件在 ios 8.3 上不起作用

用于普通科尔多瓦的科尔多瓦离子插件?

离子项目构建错误