apache / cordova-android

Apache Cordova Android
https://cordova.apache.org/
Apache License 2.0
3.67k stars 1.54k forks source link

Failed to fetch platform cordova-android@8.0.0 #803

Closed Sampath-Lokuge closed 5 years ago

Sampath-Lokuge commented 5 years ago

Hi,

Below error shows when I tried to ionic cordova platform add android@8.0.0

Note: I have tried many times.

I have done this:

rm -rf node_modules/ rm -rf platforms/ rm -rf plugins/

Removed package.lock.json and tried npm i But no luck yet. Any clue?

ionic cordova platform add android@8.0.0

cordova.cmd platform add android@8.0.0 Using cordova-fetch for cordova-android@8.0.0 Failed to fetch platform cordova-android@8.0.0 Probably this is either a connection problem, or platform spec is incorrect. Check your connection and platform name/version/URL. Error: cmd: Command failed with exit code 1 Error output: npm ERR! Windows_NT 10.0.17763 npm ERR! argv "C:\Program Files\nodejs\node.exe" "D:\Clients\ionic4\node_modules\npm\bin\npm-cli.js" "install" "cordova-android@8.0.0" "--production" "--save" npm ERR! node v12.4.0 npm ERR! npm v2.15.12 npm ERR! code EPEERINVALID

npm ERR! peerinvalid The package @ionic-native/core@5.11.0 does not satisfy its siblings' peerDependencies requirements! npm ERR! peerinvalid Peer @ionic-native/android-permissions@5.11.0 wants @ionic-native/core@^5.1.0 npm ERR! peerinvalid Peer @ionic-native/document-viewer@5.11.0 wants @ionic-native/core@^5.1.0 npm ERR! peerinvalid Peer @ionic-native/file@5.11.0 wants @ionic-native/core@^5.1.0 npm ERR! peerinvalid Peer @ionic-native/file-opener@5.11.0 wants @ionic-native/core@^5.1.0 npm ERR! peerinvalid Peer @ionic-native/file-transfer@5.11.0 wants @ionic-native/core@^5.1.0 npm ERR! peerinvalid Peer @ionic-native/firebase-x@5.11.0 wants @ionic-native/core@^5.1.0 npm ERR! peerinvalid Peer @ionic-native/geolocation@5.3.0 wants @ionic-native/core@^5.1.0 npm ERR! peerinvalid Peer @ionic-native/http@5.3.0 wants @ionic-native/core@^5.1.0 npm ERR! peerinvalid Peer @ionic-native/in-app-browser@5.2.0 wants @ionic-native/core@^5.1.0 npm ERR! peerinvalid Peer @ionic-native/launch-navigator@5.11.0 wants @ionic-native/core@^5.1.0 npm ERR! peerinvalid Peer @ionic-native/network@5.3.0 wants @ionic-native/core@^5.1.0 npm ERR! peerinvalid Peer @ionic-native/screen-orientation@5.4.0 wants @ionic-native/core@^5.1.0 npm ERR! peerinvalid Peer @ionic-native/splash-screen@5.0.0 wants @ionic-native/core@5.0.0 npm ERR! peerinvalid Peer @ionic-native/status-bar@5.0.0 wants @ionic-native/core@5.0.0 npm ERR! peerinvalid Peer @ionic-native/vibration@5.7.0 wants @ionic-native/core@^5.1.0

npm ERR! Please include the following file with any support request: npm ERR! D:\Clients\ionic4\npm-debug.log [ERROR] An error occurred while running subprocess cordova.

    cordova.cmd platform add android@8.0.0 exited with exit code 1.

    Re-running this command with the --verbose flag may provide more information.

Ionic Info

ionic info

Ionic:

Ionic CLI : 5.1.0 (C:\Users\Sampath\AppData\Roaming\npm\node_modules\ionic) Ionic Framework : @ionic/angular 4.4.0 @angular-devkit/build-angular : 0.13.9 @angular-devkit/schematics : 7.2.3 @angular/cli : 7.2.3 @ionic/angular-toolkit : 1.2.0

Cordova:

Cordova CLI : 8.1.2 (cordova-lib@8.1.1) Cordova Platforms : none Cordova Plugins : no whitelisted plugins (0 plugins total)

Utility:

cordova-res : not installed native-run : 0.2.5

System:

NodeJS : v12.4.0 (C:\Program Files\nodejs\node.exe) npm : 2.15.12 OS : Windows 10

config.xml

<?xml version='1.0' encoding='utf-8'?>
<widget id="com.mho.lla" version="0.1.7" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0">
    <name>lla</name>
    <description>lla App</description>
    <author email="hi@ionicframework" href="http://ionicframework.com/">m-hospitality</author>
    <content src="index.html" />
    <access origin="*" />
    <allow-intent href="http://*/*" />
    <allow-intent href="https://*/*" />
    <allow-intent href="tel:*" />
    <allow-intent href="sms:*" />
    <allow-intent href="mailto:*" />
    <allow-intent href="geo:*" />
    <preference name="ScrollEnabled" value="false" />
    <preference name="android-minSdkVersion" value="19" />
    <preference name="BackupWebStorage" value="none" />
    <preference name="SplashMaintainAspectRatio" value="true" />
    <preference name="FadeSplashScreenDuration" value="300" />
    <preference name="SplashShowOnlyFirstTime" value="false" />
    <preference name="SplashScreen" value="screen" />
    <preference name="SplashScreenDelay" value="3000" />
    <preference name="Hostname" value="localhost:8100" />
    <allow-navigation href="http://localhost:8100/*" />
    <platform name="android">
        <allow-intent href="market:*" />
        <icon density="ldpi" src="resources/android/icon/drawable-ldpi-icon.png" />
        <icon density="mdpi" src="resources/android/icon/drawable-mdpi-icon.png" />
        <icon density="hdpi" src="resources/android/icon/drawable-hdpi-icon.png" />
        <icon density="xhdpi" src="resources/android/icon/drawable-xhdpi-icon.png" />
        <icon density="xxhdpi" src="resources/android/icon/drawable-xxhdpi-icon.png" />
        <icon density="xxxhdpi" src="resources/android/icon/drawable-xxxhdpi-icon.png" />
        <splash density="land-ldpi" src="resources/android/splash/drawable-land-ldpi-screen.png" />
        <splash density="land-mdpi" src="resources/android/splash/drawable-land-mdpi-screen.png" />
        <splash density="land-hdpi" src="resources/android/splash/drawable-land-hdpi-screen.png" />
        <splash density="land-xhdpi" src="resources/android/splash/drawable-land-xhdpi-screen.png" />
        <splash density="land-xxhdpi" src="resources/android/splash/drawable-land-xxhdpi-screen.png" />
        <splash density="land-xxxhdpi" src="resources/android/splash/drawable-land-xxxhdpi-screen.png" />
        <splash density="port-ldpi" src="resources/android/splash/drawable-port-ldpi-screen.png" />
        <splash density="port-mdpi" src="resources/android/splash/drawable-port-mdpi-screen.png" />
        <splash density="port-hdpi" src="resources/android/splash/drawable-port-hdpi-screen.png" />
        <splash density="port-xhdpi" src="resources/android/splash/drawable-port-xhdpi-screen.png" />
        <splash density="port-xxhdpi" src="resources/android/splash/drawable-port-xxhdpi-screen.png" />
        <splash density="port-xxxhdpi" src="resources/android/splash/drawable-port-xxxhdpi-screen.png" />
    </platform>
    <platform name="ios">
        <allow-intent href="itms:*" />
        <allow-intent href="itms-apps:*" />
        <icon height="57" src="resources/ios/icon/icon.png" width="57" />
        <icon height="114" src="resources/ios/icon/icon@2x.png" width="114" />
        <icon height="40" src="resources/ios/icon/icon-40.png" width="40" />
        <icon height="80" src="resources/ios/icon/icon-40@2x.png" width="80" />
        <icon height="120" src="resources/ios/icon/icon-40@3x.png" width="120" />
        <icon height="50" src="resources/ios/icon/icon-50.png" width="50" />
        <icon height="100" src="resources/ios/icon/icon-50@2x.png" width="100" />
        <icon height="60" src="resources/ios/icon/icon-60.png" width="60" />
        <icon height="120" src="resources/ios/icon/icon-60@2x.png" width="120" />
        <icon height="180" src="resources/ios/icon/icon-60@3x.png" width="180" />
        <icon height="72" src="resources/ios/icon/icon-72.png" width="72" />
        <icon height="144" src="resources/ios/icon/icon-72@2x.png" width="144" />
        <icon height="76" src="resources/ios/icon/icon-76.png" width="76" />
        <icon height="152" src="resources/ios/icon/icon-76@2x.png" width="152" />
        <icon height="167" src="resources/ios/icon/icon-83.5@2x.png" width="167" />
        <icon height="29" src="resources/ios/icon/icon-small.png" width="29" />
        <icon height="58" src="resources/ios/icon/icon-small@2x.png" width="58" />
        <icon height="87" src="resources/ios/icon/icon-small@3x.png" width="87" />
        <icon height="1024" src="resources/ios/icon/icon-1024.png" width="1024" />
        <splash height="1136" src="resources/ios/splash/Default-568h@2x~iphone.png" width="640" />
        <splash height="1334" src="resources/ios/splash/Default-667h.png" width="750" />
        <splash height="2208" src="resources/ios/splash/Default-736h.png" width="1242" />
        <splash height="1242" src="resources/ios/splash/Default-Landscape-736h.png" width="2208" />
        <splash height="1536" src="resources/ios/splash/Default-Landscape@2x~ipad.png" width="2048" />
        <splash height="2048" src="resources/ios/splash/Default-Landscape@~ipadpro.png" width="2732" />
        <splash height="768" src="resources/ios/splash/Default-Landscape~ipad.png" width="1024" />
        <splash height="2048" src="resources/ios/splash/Default-Portrait@2x~ipad.png" width="1536" />
        <splash height="2732" src="resources/ios/splash/Default-Portrait@~ipadpro.png" width="2048" />
        <splash height="1024" src="resources/ios/splash/Default-Portrait~ipad.png" width="768" />
        <splash height="960" src="resources/ios/splash/Default@2x~iphone.png" width="640" />
        <splash height="480" src="resources/ios/splash/Default~iphone.png" width="320" />
        <splash height="2732" src="resources/ios/splash/Default@2x~universal~anyany.png" width="2732" />
    </platform>
    <edit-config file="*-Info.plist" mode="merge" target="NSLocationWhenInUseUsageDescription">
        <string>We use your location for full functionality of certain app features.</string>
    </edit-config>
    <plugin name="cordova-plugin-whitelist" spec="1.3.3" />
    <plugin name="cordova-plugin-statusbar" spec="2.4.2" />
    <plugin name="cordova-plugin-device" spec="2.0.2" />
    <plugin name="cordova-plugin-splashscreen" spec="5.0.2" />
    <plugin name="cordova-plugin-ionic-keyboard" spec="^2.0.5" />
    <plugin name="cordova-plugin-inappbrowser" spec="3.0.0" />
    <plugin name="cordova-plugin-ionic-webview" spec="4.0.1" />
    <plugin name="cordova-plugin-wkwebview-ionic-xhr" spec="^2.1.1" />
    <plugin name="cordova-plugin-network-information" spec="2.0.1" />
    <plugin name="cordova-plugin-advanced-http" spec="2.0.7" />
    <plugin name="cordova-plugin-geolocation" spec="4.0.1" />
    <plugin name="cordova-sqlite-storage" spec="3.2.0" />
    <plugin name="cordova-plugin-screen-orientation" spec="3.0.1" />
    <plugin name="cordova-plugin-firebasex" spec="latest" />
    <plugin name="cordova-plugin-androidx" spec="1.0.2" />
    <plugin name="cordova-plugin-androidx-adapter" spec="1.1.0" />
    <engine name="browser" spec="5.0.4" />
    <engine name="ios" spec="~5.0.1" />
    <engine name="android" spec="~8.0.0" />
</widget>
breautek commented 5 years ago

This isn't a cordova-android issue.

EPEERINVALID error means you have incompatible or conflicted peer dependency demands.

npm ERR! peerinvalid The package @ionic-native/core@5.11.0 does not satisfy its siblings' peerDependencies requirements!

This states the the @ionic-native/core@5.11.0 is the conflicted peer dependency. You have @ionic-native/core@5.11.0 installed.

But...

npm ERR! peerinvalid Peer @ionic-native/splash-screen@5.0.0 wants @ionic-native/core@5.0.0 npm ERR! peerinvalid Peer @ionic-native/status-bar@5.0.0 wants @ionic-native/core@5.0.0

You have 2 packages, @ionic-native/splash-screen & @ionic-native/status-bar demands specifically @ionic-native/core@5.0.0. This means that you need specifically version 5.0.0 of @ionic-native/core to use these 2 packages. This is a problem because...

@ionic-native/geolocation@5.3.0 wants @ionic-native/core@^5.1.0

You also have a several other dependencies such as @ionic-native/geolocation that demand a different version. This is why there is a conflict and why EPEERINVALID is raised.

Hope this helps you understand the problem. To fix this issue you have to find a group of ionic dependencies that share the same peer dependency demands. Perhaps updating ionic's splash-screen and status-bar plugins will lift the peer dependency higher to match your other dependencies.

Sampath-Lokuge commented 5 years ago

@breautek Thanks a lot for the great info. I have done that and now it shows this error. Please help me.

 ionic cordova platform add android@8.0.0
> cordova.cmd platform add android@8.0.0
Using cordova-fetch for cordova-android@8.0.0
Failed to fetch platform cordova-android@8.0.0
Probably this is either a connection problem, or platform spec is incorrect.
Check your connection and platform name/version/URL.
Error: cmd: Command failed with exit code 1 Error output:
npm ERR! Windows_NT 10.0.17763
npm ERR! argv "C:\\Program Files\\nodejs\\node.exe" "D:\\Clients\\Tria\\m-hospitality-ionic4\\node_modules\\npm\\bin\\npm-cli.js" "install" "cordova-android@8.0.0" "--production" "--save"
npm ERR! node v12.4.0
npm ERR! npm  v2.15.12
npm ERR! code EPEERINVALID

npm ERR! peerinvalid The package @angular/compiler@7.2.2 does not satisfy its siblings' peerDependencies requirements!
npm ERR! peerinvalid Peer @angular/platform-browser-dynamic@7.2.2 wants @angular/compiler@7.2.2
npm ERR! peerinvalid Peer @ionic/angular@4.4.0 wants @angular/compiler@^7.2.1
npm ERR! peerinvalid Peer @angular/compiler-cli@7.2.7 wants @angular/compiler@7.2.7
npm ERR! peerinvalid Peer codelyzer@4.5.0 wants @angular/compiler@>=2.3.1 <8.0.0 || >7.0.0-beta <8.0.0

npm ERR! Please include the following file with any support request:
npm ERR!     D:\Clients\ionic4\npm-debug.log
[ERROR] An error occurred while running subprocess cordova.

        cordova.cmd platform add android@8.0.0 exited with exit code 1.

        Re-running this command with the --verbose flag may provide more information.

package.json

{
  "name": "mity",
  "version": "0.1.1",
  "author": "Ionic Framework",
  "homepage": "https://ionicframework.com/",
  "scripts": {
    "ng": "ng",
    "start": "ng serve",
    "build": "ng build",
    "test": "ng test",
    "lint": "ng lint",
    "e2e": "ng e2e"
  },
  "private": true,
  "dependencies": {
    "@angular/cdk": "7.3.0",
    "@angular/common": "7.2.2",
    "@angular/core": "7.2.2",
    "@angular/flex-layout": "7.0.0-beta.23",
    "@angular/forms": "7.2.2",
    "@angular/http": "7.2.2",
    "@angular/platform-browser": "7.2.2",
    "@angular/platform-browser-dynamic": "7.2.2",
    "@angular/router": "7.2.2",
    "@asymmetrik/ngx-leaflet": "5.0.1",
    "@ionic-native/android-permissions": "^5.8.0",
    "@ionic-native/core": "^5.11.0",
    "@ionic-native/document-viewer": "5.11.0",
    "@ionic-native/file": "5.11.0",
    "@ionic-native/file-opener": "5.11.0",
    "@ionic-native/file-transfer": "5.11.0",
    "@ionic-native/firebase-x": "5.11.0",
    "@ionic-native/geolocation": "5.3.0",
    "@ionic-native/http": "5.3.0",
    "@ionic-native/in-app-browser": "5.2.0",
    "@ionic-native/launch-navigator": "5.11.0",
    "@ionic-native/network": "5.3.0",
    "@ionic-native/screen-orientation": "5.4.0",
    "@ionic-native/splash-screen": "^5.11.0",
    "@ionic-native/status-bar": "^5.11.0",
    "@ionic-native/vibration": "5.7.0",
    "@ionic/angular": "4.4.0",
    "@ionic/pro": "2.0.4",
    "@ionic/storage": "2.2.0",
    "@ngx-translate/core": "11.0.1",
    "@ngx-translate/http-loader": "4.0.0",
    "@types/underscore": "1.9.2",
    "acorn": "^6.2.1",
    "cordova-android": "8.0.0",
    "cordova-browser": "5.0.4",
    "cordova-ios": "5.0.1",
    "cordova-plugin-actionsheet": "2.3.3",
    "cordova-plugin-advanced-http": "2.1.1",
    "cordova-plugin-android-permissions": "1.0.0",
    "cordova-plugin-androidx": "1.0.2",
    "cordova-plugin-androidx-adapter": "1.1.0",
    "cordova-plugin-cocoapod-supportx": "1.7.2",
    "cordova-plugin-device": "2.0.3",
    "cordova-plugin-dialogs": "2.0.2",
    "cordova-plugin-document-viewer": "0.9.11",
    "cordova-plugin-file": "6.0.2",
    "cordova-plugin-file-opener2": "2.2.1",
    "cordova-plugin-file-transfer": "1.7.1",
    "cordova-plugin-firebasex": "latest",
    "cordova-plugin-geolocation": "4.0.2",
    "cordova-plugin-inappbrowser": "3.1.0",
    "cordova-plugin-ionic": "5.4.4",
    "cordova-plugin-ionic-keyboard": "2.1.3",
    "cordova-plugin-ionic-webview": "4.1.1",
    "cordova-plugin-network-information": "2.0.2",
    "cordova-plugin-screen-orientation": "3.0.2",
    "cordova-plugin-splashscreen": "5.0.3",
    "cordova-plugin-statusbar": "2.4.3",
    "cordova-plugin-vibration": "3.1.1",
    "cordova-plugin-whitelist": "1.3.4",
    "cordova-plugin-wkwebview-ionic-xhr": "2.1.1",
    "cordova-sqlite-storage": "3.2.1",
    "cordova-support-android-plugin": "1.0.1",
    "cordova-support-google-services": "1.3.1",
    "core-js": "2.5.4",
    "es6-promise-plugin": "4.2.2",
    "ionic4-rating": "1.0.9",
    "js-sha1": "0.6.0",
    "latest": "0.2.0",
    "leaflet": "1.4.0",
    "lodash": "4.17.15",
    "moment": "2.24.0",
    "rxjs": "6.5.2",
    "uk.co.workingedge.phonegap.plugin.launchnavigator": "5.0.4",
    "underscore": "1.9.1",
    "zone.js": "0.8.29"
  },
  "devDependencies": {
    "@angular-devkit/architect": "0.12.3",
    "@angular-devkit/build-angular": "0.13.9",
    "@angular-devkit/core": "7.2.3",
    "@angular-devkit/schematics": "7.2.3",
    "@angular/cli": "7.2.3",
    "@angular/compiler": "7.2.2",
    "@angular/compiler-cli": "7.2.7",
    "@angular/language-service": "7.2.2",
    "@ionic/angular-toolkit": "1.2.0",
    "@types/googlemaps": "^3.36.4",
    "@types/jasmine": "2.8.8",
    "@types/jasminewd2": "2.0.3",
    "@types/leaflet": "1.4.3",
    "@types/node": "10.12.0",
    "codelyzer": "4.5.0",
    "jasmine-core": "2.99.1",
    "jasmine-spec-reporter": "4.2.1",
    "karma": "4.0.1",
    "karma-chrome-launcher": "2.2.0",
    "karma-coverage-istanbul-reporter": "2.0.1",
    "karma-jasmine": "1.1.2",
    "karma-jasmine-html-reporter": "0.2.2",
    "protractor": "5.4.0",
    "ts-node": "8.0.0",
    "tslint": "5.12.0",
    "typescript": "3.1.6"
  },
  "description": "An Ionic project",
  "cordova": {
    "plugins": {
      "cordova-plugin-whitelist": {},
      "cordova-plugin-statusbar": {},
      "cordova-plugin-device": {},
      "cordova-plugin-splashscreen": {},
      "cordova-plugin-ionic-keyboard": {},
      "cordova-plugin-inappbrowser": {},
      "cordova-plugin-ionic-webview": {
        "ANDROID_SUPPORT_ANNOTATIONS_VERSION": "27.+"
      },
      "cordova-plugin-wkwebview-ionic-xhr": {},
      "cordova-plugin-network-information": {},
      "cordova-plugin-advanced-http": {
        "OKHTTP_VERSION": "3.10.0"
      },
      "cordova-plugin-geolocation": {},
      "cordova-sqlite-storage": {},
      "cordova-plugin-screen-orientation": {},
      "cordova-plugin-vibration": {},
      "cordova-plugin-android-permissions": {},
      "cordova-plugin-androidx": {},
      "cordova-plugin-androidx-adapter": {},
      "uk.co.workingedge.phonegap.plugin.launchnavigator": {
        "GOOGLE_API_KEY_FOR_ANDROID": "AIzaSyA",
        "OKHTTP_VERSION": "3.12.0",
        "LOCATION_USAGE_DESCRIPTION": "This app requires access to your location for navigation purposes"
      },
      "cordova-plugin-file": {},
      "cordova-plugin-file-transfer": {},
      "cordova-plugin-document-viewer": {},
      "cordova-plugin-file-opener2": {
        "ANDROID_SUPPORT_V4_VERSION": "27.+"
      },
      "cordova-plugin-firebasex": {}
    },
    "platforms": [
      "browser",
      "android",
      "ios"
    ]
  }
}
breautek commented 5 years ago

You have the exact same issue with @angular/compiler@7.2.2 and other dependencies demanding different incompatible versions.

Sampath-Lokuge commented 5 years ago

@breautek I have done a lot to get rid of below error. It seems I'm very close. Any help here?

npm ERR! peerinvalid The package @angular/compiler-cli@8.1.1 does not satisfy its siblings' peerDependencies requirements!
npm ERR! peerinvalid Peer @ionic/angular@4.7.4 wants @angular/compiler-cli@7.2.1 - 8
npm ERR! peerinvalid Peer @ngtools/webpack@8.2.0 wants @angular/compiler-cli@^8.0.0-beta.0 || ^8.1.0-beta.0 || ^8.2.0-beta.0 || ^8.3.0-beta.0 || ^8.4.0-beta.0 || >=9.0.0-beta < 9

According to the Ionic sample app, it should work with 8.1.1. Why then above error? https://github.com/ionic-team/ionic-conference-app/blob/master/package.json#L55

Same for the @ngtools/webpack no? It should work with CLI 8.1.1 no? Why then?

breautek commented 5 years ago

Is that the entire error?

originally I thought 8.1.1 didn't satisify @angular/compiler-cli@7.2.1 - 8

But I tested it using semver cause I wasn't 100% sure

 semver.satisfies('8.1.1', '7.2.1 - 8')
true

And it returns true, so does comparing it with ^8.0.0-beta.0 || ^8.1.0-beta.0 || ^8.2.0-beta.0 || ^8.3.0-beta.0 || ^8.4.0-beta.0 || >=9.0.0-beta < 9

Sampath-Lokuge commented 5 years ago

@breautek Sorry I didn't get you? What should I do here?

This is the entire error message now:

cordova.cmd platform add android@8.0.0
Using cordova-fetch for cordova-android@8.0.0
Failed to fetch platform cordova-android@8.0.0
Probably this is either a connection problem, or platform spec is incorrect.
Check your connection and platform name/version/URL.
Error: cmd: Command failed with exit code 1 Error output:
npm ERR! Windows_NT 10.0.17763
npm ERR! argv "C:\\Program Files\\nodejs\\node.exe" "D:\\Clients\\Tria\\m-hospitality-ionic4\\node_modules\\npm\\bin\\npm-cli.js" "install" "cordova-android@8.0.0" "--production" "--save"
npm ERR! node v12.4.0
npm ERR! npm  v2.15.12
npm ERR! code EPEERINVALID

npm ERR! peerinvalid The package @angular/compiler-cli@8.1.1 does not satisfy its siblings' peerDependencies requirements!
npm ERR! peerinvalid Peer @ionic/angular@4.7.4 wants @angular/compiler-cli@7.2.1 - 8
npm ERR! peerinvalid Peer @ngtools/webpack@8.2.0 wants @angular/compiler-cli@^8.0.0-beta.0 || ^8.1.0-beta.0 || ^8.2.0-beta.0 || ^8.3.0-beta.0 || ^8.4.0-beta.0 || >=9.0.0-beta < 9

npm ERR! Please include the following file with any support request:
npm ERR!     D:\Clients\Tria\m-hospitality-ionic4\npm-debug.log
[ERROR] An error occurred while running subprocess cordova.

        cordova.cmd platform add android@8.0.0 exited with exit code 1.

        Re-running this command with the --verbose flag may provide more information.
breautek commented 5 years ago

Can you also post your current package.json file, or at least your dependencies? I'd like to replicate it in my package.json so that I can play with it.

Sampath-Lokuge commented 5 years ago

@breautek Thanks. Here it is:

package.json

{
  "name": "ality",
  "version": "0.1.1",
  "author": "Ionic Framework",
  "homepage": "https://ionicframework.com/",
  "scripts": {
    "ng": "ng",
    "start": "ng serve",
    "build": "ng build",
    "test": "ng test",
    "lint": "ng lint",
    "e2e": "ng e2e"
  },
  "private": true,
  "dependencies": {
    "@angular/cdk": "8.1.1",
    "@angular/common": "8.1.1",
    "@angular/compiler": "^8.1.1",
    "@angular/compiler-cli": "8.1.1",
    "@angular/core": "8.1.1",
    "@angular/flex-layout": "^8.0.0-beta.26",
    "@angular/forms": "8.1.1",
    "@angular/http": "7.2.15",
    "@angular/platform-browser": "8.1.1",
    "@angular/platform-browser-dynamic": "8.1.1",
    "@angular/router": "8.1.1",
    "@asymmetrik/ngx-leaflet": "5.0.1",
    "@ionic-native/android-permissions": "^5.8.0",
    "@ionic-native/core": "^5.11.0",
    "@ionic-native/document-viewer": "5.11.0",
    "@ionic-native/file": "5.11.0",
    "@ionic-native/file-opener": "5.11.0",
    "@ionic-native/file-transfer": "5.11.0",
    "@ionic-native/firebase-x": "5.11.0",
    "@ionic-native/geolocation": "5.3.0",
    "@ionic-native/http": "5.3.0",
    "@ionic-native/in-app-browser": "5.2.0",
    "@ionic-native/launch-navigator": "5.11.0",
    "@ionic-native/network": "5.3.0",
    "@ionic-native/screen-orientation": "5.4.0",
    "@ionic-native/splash-screen": "^5.11.0",
    "@ionic-native/status-bar": "^5.11.0",
    "@ionic-native/vibration": "5.7.0",
    "@ionic/angular": "^4.7.4",
    "@ionic/pro": "2.0.4",
    "@ionic/storage": "2.2.0",
    "@ngtools/webpack": "^8.2.0",
    "@ngx-translate/core": "11.0.1",
    "@ngx-translate/http-loader": "4.0.0",
    "@types/underscore": "1.9.2",
    "cordova-android": "8.0.0",
    "cordova-browser": "5.0.4",
    "cordova-ios": "5.0.1",
    "cordova-plugin-actionsheet": "2.3.3",
    "cordova-plugin-advanced-http": "2.1.1",
    "cordova-plugin-android-permissions": "1.0.0",
    "cordova-plugin-androidx": "1.0.2",
    "cordova-plugin-androidx-adapter": "1.1.0",
    "cordova-plugin-cocoapod-supportx": "1.7.2",
    "cordova-plugin-device": "2.0.3",
    "cordova-plugin-dialogs": "2.0.2",
    "cordova-plugin-document-viewer": "0.9.11",
    "cordova-plugin-file": "6.0.2",
    "cordova-plugin-file-opener2": "2.2.1",
    "cordova-plugin-file-transfer": "1.7.1",
    "cordova-plugin-firebasex": "latest",
    "cordova-plugin-geolocation": "4.0.2",
    "cordova-plugin-inappbrowser": "3.1.0",
    "cordova-plugin-ionic": "5.4.4",
    "cordova-plugin-ionic-keyboard": "2.1.3",
    "cordova-plugin-ionic-webview": "4.1.1",
    "cordova-plugin-network-information": "2.0.2",
    "cordova-plugin-screen-orientation": "3.0.2",
    "cordova-plugin-splashscreen": "5.0.3",
    "cordova-plugin-statusbar": "2.4.3",
    "cordova-plugin-vibration": "3.1.1",
    "cordova-plugin-whitelist": "1.3.4",
    "cordova-plugin-wkwebview-ionic-xhr": "2.1.1",
    "cordova-sqlite-storage": "3.2.1",
    "cordova-support-android-plugin": "1.0.1",
    "cordova-support-google-services": "1.3.1",
    "core-js": "2.5.4",
    "es6-promise-plugin": "4.2.2",
    "ionic4-rating": "1.0.9",
    "js-sha1": "0.6.0",
    "latest": "0.2.0",
    "leaflet": "1.4.0",
    "lodash": "4.17.15",
    "moment": "2.24.0",
    "rxjs": "6.5.2",
    "uk.co.workingedge.phonegap.plugin.launchnavigator": "5.0.4",
    "underscore": "1.9.1",
    "zone.js": "0.8.29"
  },
  "devDependencies": {
    "@angular-devkit/architect": "0.12.3",
    "@angular-devkit/build-angular": "0.13.9",
    "@angular-devkit/core": "7.2.3",
    "@angular-devkit/schematics": "7.2.3",
    "@angular/cli": "7.2.3",
    "@angular/language-service": "7.2.2",
    "@ionic/angular-toolkit": "1.2.0",
    "@types/googlemaps": "^3.36.4",
    "@types/jasmine": "2.8.8",
    "@types/jasminewd2": "2.0.3",
    "@types/leaflet": "1.4.3",
    "@types/node": "10.12.0",
    "jasmine-core": "2.99.1",
    "jasmine-spec-reporter": "4.2.1",
    "karma": "4.0.1",
    "karma-chrome-launcher": "2.2.0",
    "karma-coverage-istanbul-reporter": "2.0.1",
    "karma-jasmine": "1.1.2",
    "karma-jasmine-html-reporter": "0.2.2",
    "protractor": "5.4.0",
    "ts-node": "8.0.0",
    "tslint": "5.12.0",
    "typescript": "3.1.6"
  },
  "description": "An Ionic project",
  "cordova": {
    "plugins": {
      "cordova-plugin-whitelist": {},
      "cordova-plugin-statusbar": {},
      "cordova-plugin-device": {},
      "cordova-plugin-splashscreen": {},
      "cordova-plugin-ionic-keyboard": {},
      "cordova-plugin-inappbrowser": {},
      "cordova-plugin-ionic-webview": {
        "ANDROID_SUPPORT_ANNOTATIONS_VERSION": "27.+"
      },
      "cordova-plugin-wkwebview-ionic-xhr": {},
      "cordova-plugin-network-information": {},
      "cordova-plugin-advanced-http": {
        "OKHTTP_VERSION": "3.10.0"
      },
      "cordova-plugin-geolocation": {},
      "cordova-sqlite-storage": {},
      "cordova-plugin-screen-orientation": {},
      "cordova-plugin-vibration": {},
      "cordova-plugin-android-permissions": {},
      "cordova-plugin-androidx": {},
      "cordova-plugin-androidx-adapter": {},
      "uk.co.workingedge.phonegap.plugin.launchnavigator": {
        "GOOGLE_API_KEY_FOR_ANDROID": "AIzaS2438",
        "OKHTTP_VERSION": "3.12.0",
        "LOCATION_USAGE_DESCRIPTION": "This app requires access to your location for navigation purposes"
      },
      "cordova-plugin-file": {},
      "cordova-plugin-file-transfer": {},
      "cordova-plugin-document-viewer": {},
      "cordova-plugin-file-opener2": {
        "ANDROID_SUPPORT_V4_VERSION": "27.+"
      },
      "cordova-plugin-firebasex": {}
    },
    "platforms": [
      "browser",
      "android",
      "ios"
    ]
  }
}
breautek commented 5 years ago

That set of dependencies does not produce the same peer dependency conflicts for me.

Sampath-Lokuge commented 5 years ago

@breautek Oh.. Then what should I do here? Is that dev environment issue or?

breautek commented 5 years ago

Not sure... it could be that you also have some of these packages installed globally, such as typescript. I have had a completely did set of peer conflicts but I still decided to work through it,

I into problems where some dependencies requires typescript >= 3.4 and other dependencies require typescript max 3.3.

There is one thing that is obvious though, this project has a huge mixture of dependencies that doesn't appear to be compatible together.

I would advise that you go through all your dependencies and:

Once everything is up to date, if you're still having peer conflicts, you can then determine which packages are falling behind on their maintenance and raise issues with those package maintainers, or look for alternatives.

Somewhat unrelated but note that it is important to keep packages up to date as much as possible to fix vulnerabilities, currently this project has several packages that are vulnerable to some high risk attacks including Arbitrary File Overwrites. (You can view vulnerable packages via npm audit). Most of the vulnerable packages are likely sub-dependencies of your dependencies.

Sampath-Lokuge commented 5 years ago

@breautek Thanks a lot for your great explanation. I'll bookmark this. I have learned a lot from you. But my issue was something else. i.e. dev envirnment issue. I didn't use the latest Ionic CLI and Cordova CLI. After I updated those then no issues and I was able to build the APK using first package.json file where I posted on the original post.

$ ionic info

Ionic:

   Ionic CLI                     : 5.2.4 (C:\Users\Sampath\AppData\Roaming\npm\node_modules\ionic)
   Ionic Framework               : @ionic/angular 4.4.0
   @angular-devkit/build-angular : 0.13.9
   @angular-devkit/schematics    : 7.2.3
   @angular/cli                  : 7.2.3
   @ionic/angular-toolkit        : 1.2.0

Cordova:

   Cordova CLI       : 9.0.0 (cordova-lib@9.0.1)
   Cordova Platforms : android 8.0.0
   Cordova Plugins   : cordova-plugin-ionic-keyboard 2.1.3, cordova-plugin-ionic-webview 4.1.1, (and 20 other plugins)

Utility:

   cordova-res : not installed
   native-run  : 0.2.5

System:

   NodeJS : v12.4.0 (C:\Program Files\nodejs\node.exe)
   npm    : 2.15.12
   OS     : Windows 10
Moni4 commented 3 years ago

@breautek Thanks a lot for the great info. I have done that and now it shows this error. Please help me.

 ionic cordova platform add android@8.0.0
> cordova.cmd platform add android@8.0.0
Using cordova-fetch for cordova-android@8.0.0
Failed to fetch platform cordova-android@8.0.0
Probably this is either a connection problem, or platform spec is incorrect.
Check your connection and platform name/version/URL.
Error: cmd: Command failed with exit code 1 Error output:
npm ERR! Windows_NT 10.0.17763
npm ERR! argv "C:\\Program Files\\nodejs\\node.exe" "D:\\Clients\\Tria\\m-hospitality-ionic4\\node_modules\\npm\\bin\\npm-cli.js" "install" "cordova-android@8.0.0" "--production" "--save"
npm ERR! node v12.4.0
npm ERR! npm  v2.15.12
npm ERR! code EPEERINVALID

npm ERR! peerinvalid The package @angular/compiler@7.2.2 does not satisfy its siblings' peerDependencies requirements!
npm ERR! peerinvalid Peer @angular/platform-browser-dynamic@7.2.2 wants @angular/compiler@7.2.2
npm ERR! peerinvalid Peer @ionic/angular@4.4.0 wants @angular/compiler@^7.2.1
npm ERR! peerinvalid Peer @angular/compiler-cli@7.2.7 wants @angular/compiler@7.2.7
npm ERR! peerinvalid Peer codelyzer@4.5.0 wants @angular/compiler@>=2.3.1 <8.0.0 || >7.0.0-beta <8.0.0

npm ERR! Please include the following file with any support request:
npm ERR!     D:\Clients\ionic4\npm-debug.log
[ERROR] An error occurred while running subprocess cordova.

        cordova.cmd platform add android@8.0.0 exited with exit code 1.

        Re-running this command with the --verbose flag may provide more information.

package.json

{
  "name": "mity",
  "version": "0.1.1",
  "author": "Ionic Framework",
  "homepage": "https://ionicframework.com/",
  "scripts": {
    "ng": "ng",
    "start": "ng serve",
    "build": "ng build",
    "test": "ng test",
    "lint": "ng lint",
    "e2e": "ng e2e"
  },
  "private": true,
  "dependencies": {
    "@angular/cdk": "7.3.0",
    "@angular/common": "7.2.2",
    "@angular/core": "7.2.2",
    "@angular/flex-layout": "7.0.0-beta.23",
    "@angular/forms": "7.2.2",
    "@angular/http": "7.2.2",
    "@angular/platform-browser": "7.2.2",
    "@angular/platform-browser-dynamic": "7.2.2",
    "@angular/router": "7.2.2",
    "@asymmetrik/ngx-leaflet": "5.0.1",
    "@ionic-native/android-permissions": "^5.8.0",
    "@ionic-native/core": "^5.11.0",
    "@ionic-native/document-viewer": "5.11.0",
    "@ionic-native/file": "5.11.0",
    "@ionic-native/file-opener": "5.11.0",
    "@ionic-native/file-transfer": "5.11.0",
    "@ionic-native/firebase-x": "5.11.0",
    "@ionic-native/geolocation": "5.3.0",
    "@ionic-native/http": "5.3.0",
    "@ionic-native/in-app-browser": "5.2.0",
    "@ionic-native/launch-navigator": "5.11.0",
    "@ionic-native/network": "5.3.0",
    "@ionic-native/screen-orientation": "5.4.0",
    "@ionic-native/splash-screen": "^5.11.0",
    "@ionic-native/status-bar": "^5.11.0",
    "@ionic-native/vibration": "5.7.0",
    "@ionic/angular": "4.4.0",
    "@ionic/pro": "2.0.4",
    "@ionic/storage": "2.2.0",
    "@ngx-translate/core": "11.0.1",
    "@ngx-translate/http-loader": "4.0.0",
    "@types/underscore": "1.9.2",
    "acorn": "^6.2.1",
    "cordova-android": "8.0.0",
    "cordova-browser": "5.0.4",
    "cordova-ios": "5.0.1",
    "cordova-plugin-actionsheet": "2.3.3",
    "cordova-plugin-advanced-http": "2.1.1",
    "cordova-plugin-android-permissions": "1.0.0",
    "cordova-plugin-androidx": "1.0.2",
    "cordova-plugin-androidx-adapter": "1.1.0",
    "cordova-plugin-cocoapod-supportx": "1.7.2",
    "cordova-plugin-device": "2.0.3",
    "cordova-plugin-dialogs": "2.0.2",
    "cordova-plugin-document-viewer": "0.9.11",
    "cordova-plugin-file": "6.0.2",
    "cordova-plugin-file-opener2": "2.2.1",
    "cordova-plugin-file-transfer": "1.7.1",
    "cordova-plugin-firebasex": "latest",
    "cordova-plugin-geolocation": "4.0.2",
    "cordova-plugin-inappbrowser": "3.1.0",
    "cordova-plugin-ionic": "5.4.4",
    "cordova-plugin-ionic-keyboard": "2.1.3",
    "cordova-plugin-ionic-webview": "4.1.1",
    "cordova-plugin-network-information": "2.0.2",
    "cordova-plugin-screen-orientation": "3.0.2",
    "cordova-plugin-splashscreen": "5.0.3",
    "cordova-plugin-statusbar": "2.4.3",
    "cordova-plugin-vibration": "3.1.1",
    "cordova-plugin-whitelist": "1.3.4",
    "cordova-plugin-wkwebview-ionic-xhr": "2.1.1",
    "cordova-sqlite-storage": "3.2.1",
    "cordova-support-android-plugin": "1.0.1",
    "cordova-support-google-services": "1.3.1",
    "core-js": "2.5.4",
    "es6-promise-plugin": "4.2.2",
    "ionic4-rating": "1.0.9",
    "js-sha1": "0.6.0",
    "latest": "0.2.0",
    "leaflet": "1.4.0",
    "lodash": "4.17.15",
    "moment": "2.24.0",
    "rxjs": "6.5.2",
    "uk.co.workingedge.phonegap.plugin.launchnavigator": "5.0.4",
    "underscore": "1.9.1",
    "zone.js": "0.8.29"
  },
  "devDependencies": {
    "@angular-devkit/architect": "0.12.3",
    "@angular-devkit/build-angular": "0.13.9",
    "@angular-devkit/core": "7.2.3",
    "@angular-devkit/schematics": "7.2.3",
    "@angular/cli": "7.2.3",
    "@angular/compiler": "7.2.2",
    "@angular/compiler-cli": "7.2.7",
    "@angular/language-service": "7.2.2",
    "@ionic/angular-toolkit": "1.2.0",
    "@types/googlemaps": "^3.36.4",
    "@types/jasmine": "2.8.8",
    "@types/jasminewd2": "2.0.3",
    "@types/leaflet": "1.4.3",
    "@types/node": "10.12.0",
    "codelyzer": "4.5.0",
    "jasmine-core": "2.99.1",
    "jasmine-spec-reporter": "4.2.1",
    "karma": "4.0.1",
    "karma-chrome-launcher": "2.2.0",
    "karma-coverage-istanbul-reporter": "2.0.1",
    "karma-jasmine": "1.1.2",
    "karma-jasmine-html-reporter": "0.2.2",
    "protractor": "5.4.0",
    "ts-node": "8.0.0",
    "tslint": "5.12.0",
    "typescript": "3.1.6"
  },
  "description": "An Ionic project",
  "cordova": {
    "plugins": {
      "cordova-plugin-whitelist": {},
      "cordova-plugin-statusbar": {},
      "cordova-plugin-device": {},
      "cordova-plugin-splashscreen": {},
      "cordova-plugin-ionic-keyboard": {},
      "cordova-plugin-inappbrowser": {},
      "cordova-plugin-ionic-webview": {
        "ANDROID_SUPPORT_ANNOTATIONS_VERSION": "27.+"
      },
      "cordova-plugin-wkwebview-ionic-xhr": {},
      "cordova-plugin-network-information": {},
      "cordova-plugin-advanced-http": {
        "OKHTTP_VERSION": "3.10.0"
      },
      "cordova-plugin-geolocation": {},
      "cordova-sqlite-storage": {},
      "cordova-plugin-screen-orientation": {},
      "cordova-plugin-vibration": {},
      "cordova-plugin-android-permissions": {},
      "cordova-plugin-androidx": {},
      "cordova-plugin-androidx-adapter": {},
      "uk.co.workingedge.phonegap.plugin.launchnavigator": {
        "GOOGLE_API_KEY_FOR_ANDROID": "AIzaSyA",
        "OKHTTP_VERSION": "3.12.0",
        "LOCATION_USAGE_DESCRIPTION": "This app requires access to your location for navigation purposes"
      },
      "cordova-plugin-file": {},
      "cordova-plugin-file-transfer": {},
      "cordova-plugin-document-viewer": {},
      "cordova-plugin-file-opener2": {
        "ANDROID_SUPPORT_V4_VERSION": "27.+"
      },
      "cordova-plugin-firebasex": {}
    },
    "platforms": [
      "browser",
      "android",
      "ios"
    ]
  }
}

I just have this error and I solve it by installing cordova again (npm install -g cordova). No idea why

Sejeng1 commented 2 years ago

I have a problem, I am trying to build android platform with ionic but I encounter this error

C:\Users\user\Test>ionic cordova build android? ? Platform android? is not installed! Would you like to install it? Yes

cordova.cmd platform add android? --save Using cordova-fetch for android? Failed to fetch platform android? Probably this is either a connection problem, or platform spec is incorrect. Check your connection and platform name/version/URL. CordovaError: Error: Invalid tag name "android?": Tags may not have any characters that encodeURIComponent encodes. [ERROR] An error occurred while running subprocess cordova.

    cordova.cmd platform add android? --save exited with exit code 1.

    Re-running this command with the --verbose flag may provide more information.
breautek commented 2 years ago

You probably mean ionic cordova build android instead of ionic cordova build android? (android platform does not contain a ?)