运行“ionic cordova platform add ios”时出错

Posted

技术标签:

【中文标题】运行“ionic cordova platform add ios”时出错【英文标题】:An error occurred when I was running "ionic cordova platform add ios" 【发布时间】:2017-05-28 06:50:16 【问题描述】:

运行ionic cordova platform add ios时发生错误。它注意到我的信息

[错误] Cordova 遇到错误。 您可以通过直接运行上面的 Cordova 命令获得更多信息。

[ERROR] 运行cordova platform add ios时出错 --save(退出代码1):

    Using cordova-fetch for cordova-ios@^4.4.0
    Adding zone.js project...
    Error: Your zone.js platform does not have Api.js”

我曾尝试更新 ionic / cordova 的版本,并重新安装了 node.js 和 npm。但它仍然没有工作。

谁能告诉我如何解决这个问题。谢谢。

【问题讨论】:

【参考方案1】:

您的 iOS 平台似乎已损坏。请使用以下命令删除并重新添加平台以解决问题:

cordova 平台 rm ios

cordova平台添加ios

编辑

如果在您尝试 ionic cordova run/build android 时发生这种情况,它将使用相同的步骤进行操作

cordova 平台 rm android

cordova平台添加android

然后运行ionic cordova run/build android就可以了。

【讨论】:

我曾尝试使用这些命令,但它仍然没有用。它注意到我错误:无法获取平台cordova-ios@latest 可能这是连接问题,或者平台规范不正确。检查您的连接和平台名称/版本/URL。无法获取已安装模块的绝对路径? @KingsleyTong 你可以尝试创建一个新项目并添加 iOS 平台以便我们隔离问题 感谢您的回答。我在第二个命令中添加了 --nofetch。通过使用您提供的命令解决了这个问题。 @Skizo-ozᴉʞS 感谢您的信息。应该对有同样问题的人有所帮助。干杯 @Skizo-ozᴉʞS 一点也不。只要它对其他人有用,欢迎您这样做。感谢您的编辑。【参考方案2】:

这个问题已经通过命令解决了

cordova platform rm ios
cordova platform add ios --nofetch

【讨论】:

【参考方案3】:

如果您使用的是 linux 或 mac,请使用 sudo 运行该命令。问题解决了。

命令示例: sudo ionic cordova platform add android

输出:

$ sudo ionic cordova 平台添加 android
> 科尔多瓦平台添加 android --save

您已选择退出遥测。要更改这一点,请运行:cordova telemetry on。
为cordova-android@~7.1.1 使用cordova-fetch
添加安卓项目...
为 Android 平台创建 Cordova 项目:
    路径:平台/安卓
    包:io.ionic.starter
    名称:MyApp
    活动:MainActivity
    安卓目标:android-27
使用 cordova-android@7.1.4 创建的 Android 项目
检测到 Android Studio 项目
检测到 Android Studio 项目
在 config.xml 中发现插件“cordova-plugin-whitelist”。将其添加到项目中
为 android 安装“cordova-plugin-whitelist”

               该插件仅适用于cordova-android 4.0 以上的版本。如果您有以前的平台版本,则*不需要*此插件,因为将内置白名单。

将 cordova-plugin-whitelist 添加到 package.json
将“cordova-plugin-whitelist”的插件信息保存到 config.xml
在 config.xml 中发现插件“cordova-plugin-statusbar”。将其添加到项目中
为 android 安装“cordova-plugin-statusbar”
将 cordova-plugin-statusbar 添加到 package.json
将“cordova-plugin-statusbar”的插件信息保存到 config.xml
在 config.xml 中发现插件“cordova-plugin-device”。将其添加到项目中
为 android 安装“cordova-plugin-device”
将 cordova-plugin-device 添加到 package.json
将“cordova-plugin-device”的插件信息保存到 config.xml
在 config.xml 中发现插件“cordova-plugin-splashscreen”。将其添加到项目中
为 android 安装“cordova-plugin-splashscreen”
将 cordova-plugin-splashscreen 添加到 package.json
将“cordova-plugin-splashscreen”的插件信息保存到 config.xml
在 config.xml 中发现插件“cordova-plugin-ionic-webview”。将其添加到项目中
为 android 安装“cordova-plugin-ionic-webview”
子项目路径:CordovaLib
子项目路径:app
将 cordova-plugin-ionic-webview 添加到 package.json
将“cordova-plugin-ionic-webview”的插件信息保存到 config.xml
在 config.xml 中发现插件“cordova-plugin-ionic-keyboard”。将其添加到项目中
为 android 安装“cordova-plugin-ionic-keyboard”
将 cordova-plugin-ionic-keyboard 添加到 package.json
将“cordova-plugin-ionic-keyboard”的插件信息保存到 config.xml
--save 标志或检测到自动保存
将 android@~7.1.4 保存到 config.xml 文件中...
> 离子科尔多瓦资源 android --force
✔ 收集资源配置和源图像 - 完成!
✔ 过滤掉不需要重新生成的图像资源 - 完成!
✔ 上传源图像以准备转换:2 / 2 完成 - 完成!
✔ 生成平台资源:18 / 18 完成 - 完成!
✔ 修改 config.xml 以添加新的图像资源 - 完成!

系统说明:

Ubuntu 18.04 LTS

离子 4.5.0

科尔多瓦 8.1.2

节点 v8.14.0

【讨论】:

【参考方案4】:

尝试修改..//config.xml头文件

<widget id="io.ionic.starter" version="0.0.1" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0">
<name>MyApp</name>
<description>An awesome Ionic/Cordova app.</description>
<author email="hi@ionicframework.com" href="http://ionicframework.com/">Ionic Framework Team</author>
<content src="index.html" />

然后运行

ionic cordova platform add ios 
ionic cordova platform add android

【讨论】:

经过所有研究,修改 config.xml 使其工作!谢谢!【参考方案5】:

使用这个命令:

sudo chown -R $USER:$GROUP ~/.npm

sudo chown -R $USER:$GROUP ~/.config

并检查所有软件包是否已安装:

全局包:

@ionic/cli-utils : 1.2.0
Cordova CLI      : 7.0.1 
Ionic CLI        : 3.2.0

本地包:

@ionic/app-scripts              : 1.3.7
@ionic/cli-plugin-cordova       : 1.2.1
@ionic/cli-plugin-ionic-angular : 1.2.0
Cordova Platforms               : ios 4.4.0
Ionic Framework                 : ionic-angular 3.3.0

系统:

Node       : v6.10.3
OS         : macOS Sierra
Xcode      : Xcode 8.2.1 Build version 8C1002 
ios-deploy : 1.9.1 
ios-sim    : 5.0.13 

【讨论】:

感谢您的回答。我已经通过使用命令 cordova platform rm ios 和 cordova platform add ios --nofetch 解决了这个问题

以上是关于运行“ionic cordova platform add ios”时出错的主要内容,如果未能解决你的问题,请参考以下文章

从命令行运行但不能通过 cron 运行时脚本运行良好

Docker 容器后台运行和前台运行的区别

JMeter笔记15 | JMeter场景运行

JMeter笔记15 | JMeter场景运行

在 spyder IDE 中,运行选择工作正常,运行文件保持运行/挂起

关于运行osgi插件时和运行环境相关的问题