android - 尝试添加平台时出现 Ionic 2 错误

标签 android ios ionic-framework ionic2 hybrid-mobile-app

当我执行 ionic serve --lab 时,我的 ionic 2 项目运行正常,但是当我尝试在我的 Ionic 2 项目中添加平台时出现错误。

Error While Trying to add iOS

sudipta$ ionic cordova platform add ios
cordova platform add ios --save

You have been opted out of telemetry. To change this, run: cordova telemetry on.
Using cordova-fetch for cordova-ios@^4.4.0

Error: Failed to fetch platform cordova-ios@^4.4.0
Probably this is either a connection problem, or platform spec is incorrect.
Check your connection and platform name/version/URL.
Error: npm: Command failed with exit code 1 Error output:
npm ERR! Darwin 17.2.0
npm ERR! argv "/usr/local/bin/node" "/Users/sudipta/musicapp/node_modules/.bin/npm" "install" "cordova-ios@^4.4.0" "--production" "--save-exact"
npm ERR! node v6.10.3
npm ERR! npm  v2.15.12
npm ERR! code EPEERINVALID

npm ERR! peerinvalid The package @ionic-native/core@3.10.2 does not satisfy its siblings' peerDependencies requirements!
npm ERR! peerinvalid Peer @ionic-native/device@3.14.0 wants @ionic-native/core@^3.6.0
npm ERR! peerinvalid Peer @ionic-native/email-composer@4.4.0 wants @ionic-native/core@^4.2.0
npm ERR! peerinvalid Peer @ionic-native/facebook@3.14.0 wants @ionic-native/core@^3.6.0
npm ERR! peerinvalid Peer @ionic-native/file@3.14.0 wants @ionic-native/core@^3.6.0
npm ERR! peerinvalid Peer @ionic-native/media@3.14.0 wants @ionic-native/core@^3.6.0
npm ERR! peerinvalid Peer @ionic-native/native-audio@3.14.0 wants @ionic-native/core@^3.6.0
npm ERR! peerinvalid Peer @ionic-native/splash-screen@3.10.2 wants @ionic-native/core@^3.6.0
npm ERR! peerinvalid Peer @ionic-native/status-bar@3.10.2 wants @ionic-native/core@^3.6.0
npm ERR! peerinvalid Peer @ionic-native/toast@3.14.0 wants @ionic-native/core@^3.6.0
npm ERR! peerinvalid Peer @ionic-native/transfer@3.14.0 wants @ionic-native/core@^3.6.0

npm ERR! Please include the following file with any support request:
npm ERR!     /Users/sudipta/musicapp/npm-debug.log

[ERROR] Exception: 
sudipta$

Error while trying to add Android

sudipta$ ionic cordova platform add android
> cordova platform add android --save
Using cordova-fetch for cordova-android@6.2.3

Error: Failed to fetch platform cordova-android@6.2.3
Probably this is either a connection problem, or platform spec is incorrect.
Check your connection and platform name/version/URL.
Error: npm: Command failed with exit code 1 Error output:
npm ERR! Darwin 17.2.0
npm ERR! argv "/usr/local/bin/node" "/Users/sudipta/musicapp/node_modules/.bin/npm" "install" "cordova-android@6.2.3" "--production" "--save-exact"
npm ERR! node v6.10.3
npm ERR! npm  v2.15.12
npm ERR! code EPEERINVALID

npm ERR! peerinvalid The package @ionic-native/core@3.10.2 does not satisfy its siblings' peerDependencies requirements!
npm ERR! peerinvalid Peer @ionic-native/device@3.14.0 wants @ionic-native/core@^3.6.0
npm ERR! peerinvalid Peer @ionic-native/email-composer@4.4.0 wants @ionic-native/core@^4.2.0
npm ERR! peerinvalid Peer @ionic-native/facebook@3.14.0 wants @ionic-native/core@^3.6.0
npm ERR! peerinvalid Peer @ionic-native/file@3.14.0 wants @ionic-native/core@^3.6.0
npm ERR! peerinvalid Peer @ionic-native/media@3.14.0 wants @ionic-native/core@^3.6.0
npm ERR! peerinvalid Peer @ionic-native/native-audio@3.14.0 wants @ionic-native/core@^3.6.0
npm ERR! peerinvalid Peer @ionic-native/splash-screen@3.10.2 wants @ionic-native/core@^3.6.0
npm ERR! peerinvalid Peer @ionic-native/status-bar@3.10.2 wants @ionic-native/core@^3.6.0
npm ERR! peerinvalid Peer @ionic-native/toast@3.14.0 wants @ionic-native/core@^3.6.0
npm ERR! peerinvalid Peer @ionic-native/transfer@3.14.0 wants @ionic-native/core@^3.6.0

npm ERR! Please include the following file with any support request:
npm ERR!     /Users/sudipta/musicapp/npm-debug.log

[ERROR] Exception: 
sudipta$ 

Error While Trying to browser

sudipta$ ionic cordova platform add browser
> cordova platform add browser --save
Using cordova-fetch for cordova-browser@^4.1.0

Error: Failed to fetch platform cordova-browser@^4.1.0
Probably this is either a connection problem, or platform spec is incorrect.
Check your connection and platform name/version/URL.
Error: npm: Command failed with exit code 1 Error output:
npm ERR! Darwin 17.2.0
npm ERR! argv "/usr/local/bin/node" "/Users/sudipta/musicapp/node_modules/.bin/npm" "install" "cordova-browser@^4.1.0" "--production" "--save-exact"
npm ERR! node v6.10.3
npm ERR! npm  v2.15.12
npm ERR! code EPEERINVALID

npm ERR! peerinvalid The package @ionic-native/core@3.10.2 does not satisfy its siblings' peerDependencies requirements!
npm ERR! peerinvalid Peer @ionic-native/device@3.14.0 wants @ionic-native/core@^3.6.0
npm ERR! peerinvalid Peer @ionic-native/email-composer@4.4.0 wants @ionic-native/core@^4.2.0
npm ERR! peerinvalid Peer @ionic-native/facebook@3.14.0 wants @ionic-native/core@^3.6.0
npm ERR! peerinvalid Peer @ionic-native/file@3.14.0 wants @ionic-native/core@^3.6.0
npm ERR! peerinvalid Peer @ionic-native/media@3.14.0 wants @ionic-native/core@^3.6.0
npm ERR! peerinvalid Peer @ionic-native/native-audio@3.14.0 wants @ionic-native/core@^3.6.0
npm ERR! peerinvalid Peer @ionic-native/splash-screen@3.10.2 wants @ionic-native/core@^3.6.0
npm ERR! peerinvalid Peer @ionic-native/status-bar@3.10.2 wants @ionic-native/core@^3.6.0
npm ERR! peerinvalid Peer @ionic-native/toast@3.14.0 wants @ionic-native/core@^3.6.0
npm ERR! peerinvalid Peer @ionic-native/transfer@3.14.0 wants @ionic-native/core@^3.6.0

npm ERR! Please include the following file with any support request:
npm ERR!     /Users/sudipta/musicapp/npm-debug.log

[ERROR] Exception: 
sudipta$ 

I am using following versions

sudipta$ ionic -version
3.18.0
sudipta$ node -v
v6.10.3
sudipta$ npm -v
5.5.1
sudipta$ cordova -version
7.1.0
sudipta$ 

my package.json (Updated)

{
"name": "xxxxxxxxxxx",
"version": "1.0.0",
"author": "Ionic Framework",
"homepage": "http://ionicframework.com/",
"private": true,
"scripts": {
    "clean": "ionic-app-scripts clean",
    "build": "ionic-app-scripts build",
    "lint": "ionic-app-scripts lint",
    "ionic:build": "ionic-app-scripts build",
    "ionic:serve": "ionic-app-scripts serve"
},
"dependencies": {
    "@angular/common": "^5.0.2",
    "@angular/compiler": "^5.0.2",
    "@angular/compiler-cli": "^5.0.2",
    "@angular/core": "^5.0.2",
    "@angular/forms": "^5.0.2",
    "@angular/http": "^5.0.2",
    "@angular/platform-browser": "^5.0.2",
    "@angular/platform-browser-dynamic": "^5.0.2",
    "@angular/tsc-wrapped": "^4.4.6",
    "@ionic-native/core": "^4.4.2",
    "@ionic-native/device": "^4.4.2",
    "@ionic-native/email-composer": "^4.4.2",
    "@ionic-native/facebook": "^4.4.2",
    "@ionic-native/file": "^4.4.2",
    "@ionic-native/media": "^4.4.2",
    "@ionic-native/native-audio": "^4.4.2",
    "@ionic-native/splash-screen": "^4.4.2",
    "@ionic-native/status-bar": "^4.4.2",
    "@ionic-native/toast": "^4.4.2",
    "@ionic-native/transfer": "^3.12.1",
    "@ionic/cloud-angular": "^0.12.0",
    "@ionic/pro": "^1.0.16",
    "@ionic/storage": "^2.1.3",
    "angularfire2": "^5.0.0-rc.3",
    "cordova": "^7.0.1",
    "cordova-android": "^6.4.0",
    "cordova-browser": "^5.0.1",
    "cordova-fabric-plugin": "git+https://github.com/sarriaroman/FabricPlugin.git",
    "cordova-ios": "^4.4.0",
    "cordova-plugin-add-swift-support": "^1.7.0",
    "cordova-plugin-compat": "^1.1.0",
    "cordova-plugin-device": "^1.1.7",
    "cordova-plugin-email-composer": "^0.8.7",
    "cordova-plugin-facebook4": "^1.9.1",
    "cordova-plugin-file": "^5.0.0",
    "cordova-plugin-file-transfer": "^1.7.0",
    "cordova-plugin-ionic": "^2.0.3",
    "cordova-plugin-media": "^4.0.0",
    "cordova-plugin-nativeaudio": "^3.0.9",
    "cordova-plugin-splashscreen": "^4.1.0",
    "cordova-plugin-statusbar": "^2.3.0",
    "cordova-plugin-whitelist": "^1.3.3",
    "cordova-plugin-x-toast": "^2.6.0",
    "emulator": "^0.1.0",
    "firebase": "^4.5.0",
    "ionic-angular": "^3.9.2",
    "ionic-plugin-deploy": "^0.6.7",
    "ionic-plugin-keyboard": "^2.2.1",
    "ionicons": "3.0.0",
    "phonegap-plugin-push": "^2.1.0",
    "promise-polyfill": "^6.0.2",
    "react-native": "^0.50.3",
    "rxjs": "^5.5.2",
    "superagent": "^3.8.0",
    "sw-toolbox": "3.6.0",
    "zone.js": "^0.8.18"
},
"devDependencies": {
    "@ionic/app-scripts": "^3.1.2",
    "ionic": "3.18.0",
    "typescript": "^2.6.1"
},
"description": "An Ionic project",
"cordova": {
    "plugins": {
        "cordova-plugin-x-toast": {},
        "cordova-plugin-file-transfer": {},
        "cordova-plugin-file": {},
        "cordova-plugin-console": {},
        "cordova-plugin-device": {},
        "cordova-plugin-splashscreen": {},
        "cordova-plugin-statusbar": {},
        "cordova-plugin-whitelist": {},
        "ionic-plugin-keyboard": {},
        "cordova-plugin-nativeaudio": {},
        "cordova-plugin-facebook4": {
            "APP_ID": "xxxxxxxxxxx",
            "APP_NAME": "MusicApp"
        },
        "cordova-plugin-media": {
            "MICROPHONE_USAGE_DESCRIPTION": " "
        },
        "ionic-plugin-deploy": {},
        "cordova-fabric-plugin": {
            "FABRIC_API_KEY": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
            "FABRIC_API_SECRET": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
        },
        "cordova-plugin-email-composer": {},
        "cordova-plugin-ionic": {
            "APP_ID": "xxxxxxxxxxx",
            "CHANNEL_NAME": "Master",
            "UPDATE_METHOD": "auto",
            "UPDATE_API": "https://api.ionicjs.com",
            "MAX_STORE": "2"
        }
    },
    "platforms": [
        "android",
        "browser",
        "ios"
    ]
}
}

Output of ionic info

sudipta$ ionic info

cli packages: (/Users/sudipta/musicapp/node_modules)

    @ionic/cli-utils  : 1.18.0
    ionic (Ionic CLI) : 3.18.0

global packages:

    cordova (Cordova CLI) : 7.1.0 

local packages:

    @ionic/app-scripts : 3.1.2
    Cordova Platforms  : none
    Ionic Framework    : ionic-angular 3.9.2

System:

    Node  : v6.10.3
    npm   : 5.5.1 
    OS    : macOS High Sierra
    Xcode : Xcode 8.3.1 Build version 8E1000a 

Environment Variables:

    ANDROID_HOME : not set

Misc:

    backend : pro

sudipta$ 

因此,我无法构建该应用程序。 预先感谢您的帮助。

最佳答案

你会尝试干净地重新安装你的库吗?

rm package-lock.json
rm -r node_modules
npm install

您已在 package.json 中将所有 native 库设置为 4.4.2,但 3.14.03.10.2 似乎添加平台时使用

P.S.: 除了一个库,分别是 @ionic-native/transfer 在你的 package.json 中设置为 3.12.1 ,也许将它设置为 4.4.2也喜欢其他人

关于android - 尝试添加平台时出现 Ionic 2 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47346780/

相关文章:

android - Android 的 ARM 汇编程序中对 'printf' 的 undefined reference

java - 日历返回错误的当前日期android

java - 获取空对象 - 将数据从一个 Activity 发送到另一个 Activity

iphone - 单元格选择的事件指示器动画

iOS - 如何获取有关 nil 返回值的更多调试信息

javascript - 如何在 ionic 2 中创建电话号码验证?

java - 如何将 ArrayList<Class> 从一个 Activity 传递到另一个 Activity ?

ios - iOS 默认使用脏区域吗?

android - 是否可以在 ionic 启动之前更改 ionic 包名称?

javascript - 返回到 Ionic 2 中的其他页面时,菜单切换被禁用