Search code examples
iosionic-frameworknpmionic3ionic-native

Ionic build for iOS - ionic-native/core version issues


When trying to add the iOS platform to an Ionic3 project, I get an odd error that a newer version of ionic-native/core doesn't satisfy reqs which are all older versions. I have the latest core - how do I resolve this so I can add the platform?

ionic cordova build ios
> cordova platform add ios --save
Using cordova-fetch for cordova-ios@~4.3.1

Error: Failed to fetch platform cordova-ios@~4.3.1
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 16.7.0
npm ERR! argv "/usr/local/bin/node" "/Users/michael/Developer/Ionic/Mobile/node_modules/.bin/npm" "install" "cordova-ios@~4.3.1" "--production" "--save-exact"
npm ERR! node v6.11.2
npm ERR! npm  v2.15.12
npm ERR! code EPEERINVALID

npm ERR! peerinvalid The package @ionic-native/[email protected] does not satisfy its siblings' peerDependencies requirements!
npm ERR! peerinvalid Peer @ionic-native/[email protected] wants @ionic-native/core@^4.2.0
npm ERR! peerinvalid Peer @ionic-native/[email protected] wants @ionic-native/core@^3.6.0
npm ERR! peerinvalid Peer @ionic-native/[email protected] wants @ionic-native/core@^4.2.0
npm ERR! peerinvalid Peer @ionic-native/[email protected] wants @ionic-native/core@^4.2.0
npm ERR! peerinvalid Peer @ionic-native/[email protected] wants @ionic-native/core@^4.2.0
npm ERR! peerinvalid Peer @ionic-native/[email protected] wants @ionic-native/core@^3.6.0
npm ERR! peerinvalid Peer @ionic-native/[email protected] wants @ionic-native/core@^3.6.0
npm ERR! peerinvalid Peer @ionic-native/[email protected] wants @ionic-native/core@^4.2.0
npm ERR! peerinvalid Peer @ionic-native/[email protected] wants @ionic-native/core@^3.6.0
npm ERR! peerinvalid Peer @ionic-native/[email protected] wants @ionic-native/core@^3.6.0
npm ERR! peerinvalid Peer @ionic-native/[email protected] wants @ionic-native/core@^3.6.0
npm ERR! peerinvalid Peer @ionic-native/[email protected] wants @ionic-native/core@^3.6.0
npm ERR! peerinvalid Peer @ionic-native/[email protected] wants @ionic-native/core@^3.6.0
npm ERR! peerinvalid Peer @ionic-native/[email protected] wants @ionic-native/core@^4.2.0
npm ERR! peerinvalid Peer @ionic-native/[email protected] wants @ionic-native/core@^3.6.0
npm ERR! peerinvalid Peer @ionic-native/[email protected] wants @ionic-native/core@^3.6.0
npm ERR! peerinvalid Peer @ionic-native/[email protected] wants @ionic-native/core@^3.6.0
npm ERR! peerinvalid Peer @ionic-native/[email protected] wants @ionic-native/core@^3.6.0
npm ERR! peerinvalid Peer @ionic-native/[email protected] wants @ionic-native/core@^4.2.0
npm ERR! peerinvalid Peer @ionic-native/[email protected] wants @ionic-native/core@^3.6.0
npm ERR! peerinvalid Peer @ionic-native/[email protected] wants @ionic-native/core@^3.6.0
npm ERR! peerinvalid Peer @ionic-native/[email protected] wants @ionic-native/core@^3.6.0
npm ERR! peerinvalid Peer @ionic-native/[email protected] wants @ionic-native/core@^3.6.0
npm ERR! peerinvalid Peer @ionic-native/[email protected] wants @ionic-native/core@^3.6.0

Solution

  • This is due to an odd issue with npm not being installed locally (as opposed to globally).

    To fix, run npm install npm in the directory where you're trying to add the platform. This will also update the packages to the correct peer dependency version.

    Then run ionic cordova platform add ios again.