运行“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”时出错的主要内容,如果未能解决你的问题,请参考以下文章