离子科尔多瓦构建 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 错误的主要内容,如果未能解决你的问题,请参考以下文章
无法在终端中构建应用程序,只能使用 Android Studio。 (离子,科尔多瓦)
离子科尔多瓦构建错误无法解析配置':classpath'的所有工件无法下载com.android.tools.build:builder:3.3.0