iOS/Mac full environment install guide for Cordova/Ionic

As most probably do, I have create a full guide to install the entire environment needed to run Cordova/Ionic. It constantly evolves and usually makes big jumps every 6 to 12 months. The following guide is my latest file, tailored for Ionic v1, as I had to install Ionic v1 on a new Mac to continue support for the older app. However, I found the same guide also works for newer versions of Ionic:

This setup guide, and caveats, was used to install the latest Node/Cordova/Ionic on Mac OSX 10.15.5 Catalina. If you experience different issues throughout the various steps, please post your step number, what the issue was and how you got around it - so others can benefit too.

Mac 10.15.5 Catalina - Cordova install guide (July 15, 2020):

Android (Windows) install guide: Android (Windows) full environment install guide for Cordova/Ionic

===================================================
Lets get started

NOTE: The importance of installing base packages with Homebrew “brew” is key. Otherwise you begin running into access/write issues on certain directories which then forces you to try to use “sudo” to install various packages which is itself a bigger problem and will create headaches. Use brew unless you really know what you’re doing.

PREREQUISITE - Install homebrew:
      A: ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
      B: brew update
	
1. Download and install Java SDK v1.8_xxx
      A. Link: https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html
      B. Cordova 10.x is still pinned to Java 1.8, you can't use a higher Java version

2. Install latest Apache ANT 
      A. "brew install ant"
		
3. Install intel universal mavericks
      A. Link: https://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=&ved=2ahUKEwix4vrrms3qAhWjT98KHcdwDnsQFjABegQIARAB&url=https%3A%2F%2Fsourceforge.net%2Fprojects%2Fgit-osx-installer%2F&usg=AOvVaw0ab9OGLPy1CnM8PKUa9k_c)

4. Install highest Xcode for your OSX
      A. start xcode and agree to licenses

5. Install latest node for
	  A.  Ionic CLI greater than v1.7.16, use nodeJS@latest
	  B.  If for whatever reason you still need Ionic cli older than v1.7.16, then you will need to pin your node install to nodeJS@6.11.0  (this will auto install npm 3.10.10)
	  - from here: https://nodejs.org/en/  (use the 6.11.0 package)
	  - after you install DO NOT update/upgrade node and npm to the latest versions
	  - Node versions > 6.11.0 are incompatible with ionic v1.7.16+
	  - However, as Ionic is up to v6x, there should be no reason for v1.7.16

	   "brew update"
	   "brew install node"

	C. If you get an error creating symlinks, THEN perform the following
  	    1. "sudo chown -R $(whoami) $(brew --prefix)/*"
  	    2. "brew doctor"
	    3. "brew link node"

6.  Install NVM
       A. "brew install nvm"
	   B.  IF you get errors on /usr/local/share/man/(man3/man5/man7) directories, THEN perform the following
	        1. "brew uninstall nvm"
	        2. "chmod u+w /usr/local/share/man/man3 /usr/local/share/man/man5 /usr/local/share/man/man7"
	        3. "brew install nvm"

Now that NODE/NVM are cleanly installed, we move over to NPM for the
remainder of installs. You SHOULD NOT have to use “sudo” for any npm
install commands. If you do, see opening notes and continue at your
own risk. “sudo npm install -g XXXX” can open up a can of worms for
you. After each NPM package install I recommend saving to a
POST_INSTALL.log file any package WARN/Deprecated notices for future
reference. I did this and it saved my butt on a few things

7.  Install gulp-cli:
       A. "npm install gulp-cli -g". // global install

8.  Install gulp
       A.  To install to project only: "npm install --save-dev gulp"
       B.  OR to install globally: "npm install -g gulp"

9.  Install Cordova:
       A. Local install only: "npm install cordova@latest"
       B. Or global install: "npm install -g cordova@latest"  (preferred (you MAY need 'sudo' here)

10. Install Ionic-CLI:
       A. "npm install -g @ionic/cli"

11. Install ios Simulator module: 
       A. "npm install -g ios-sim"

12. Install ios-deploy - with NOTES
       A. "npm install -g ios-deploy"
	   B. IF you get "xcode-select: error tool 'xcodebuild' requires xcode" type error
	   THEN: 
	 	1: "xcode-select —install"  // might already be installed
		2: "sudo xcode-select --switch /Library/Developer/CommandLineTools"
		3: "sudo xcodebuild -license accept"  // might already be accepted
		4. "npm install -g ios-deploy"
	   C. IF this doesn't work and you are still getting the same error, then the xcode-select path probably needs to be changed:
	        1. "xcode-select -p"  // probably outputs '/Library/Developer/CommandLineTools'
		2. And your xcode is installed elsewhere
		3. "sudo xcode-select --reset" // this will reset your path 
		4. "xcode-select -p"  // should output '/Applications/Xcode.app/Contents/Developer'
		5. "npm install -g ios-deploy"

	  D. Additional errors? If you get errors on /usr/local/share/man/(man3/man5/man7) directories, THEN perform: 
           1. "chmod u+w /usr/local/share/man/man3 /usr/local/share/man/man5 /usr/local/share/man/man7"
	       2. IF your OSX is over 10.11 El Capitan OSX, THEN you will MAY need to use: 
		  "npm install -g ios-deploy --unsafe-perm=true"

13.  Run NPM Audit to fix any errors
         A. "npm audit fix"  - if necessary, add  "--force"

14. Update existing modules, to eliminate potential dependency issues:
        A. "npm update -g fsevent@latest"
        B. "npm update -g graceful-fs@latest"
        C. "npm update -g chokidar@latest"

15. Install cordova resources:
        A. "npm install -g cordova-res"  //cordova/ionic resource files for icon/splash images
        B. "npm install -g native-run" //provides support to launch app direct to simulators

16.  Will your project need Facebook4 and/or FirebaseX plugins, then you WILL need cocoapods
	    A.	 "sudo gem install cocoapods"
	    B.  "pod setup"

17.  Create a project : 'ionic start appName tabs'
         NOTE: if you are still needing an Ionic v1 project, go to #18
	     A. this should auto add: 'ionic Cordova platform add ios' for you if it does not, you will need to execute that command manually
             1.  "cd $PATH/<project-name>"
             2. "ionic cordova platform add ios"
         B. build your base project
             1. "cd $PATH/<project-name>"
	         2. "ionic cordova build ios"
         C. deploy your first project
	         1. "ionic Cordova run iOS"

18.  **For Ionic v1 projects ONLY**. As of ionic/tool-kit 3.2.4 (Sept 2020), Gulp was upgraded from 3.9.1 to 4.0.2 - this causes breaking changes in v1 projects.  The following few items need to happen:
         A. "npm update -g gulp-sass@latest (to gulp-sass v5)
         B. "npm install --save-dev sass@latest (sass compiler)
         C. Create a project : 'ionic start myApp tabs --type=ionic1 --no-link'
	     D. this should auto add: 'ionic Cordova platform add ios' for you if it does not, you will need to execute that command manually
             1.  "cd $PATH/<project-name>"
             2. "ionic cordova platform add ios"
         E. The ionic v1 project auto installs a `gulpfile.js` to the root of your project, the file is formatted for gulp v3.9.1, it will need to be modified to work with gulp v4.x.  See `gulpfile.js` changes below.
         F. build your base project
             1. "cd $PATH/<project-name>"
	         2. "ionic cordova build ios"
         G. deploy your first project
	         1. "ionic Cordova run iOS"

If you have compiled without errors then you are good to go. Next begin building your real project by installing all the necessary plugins and testing on real iOS device or simulators. For true beginners below are some tips on how to get started deploying apps in the Mac world:

Install all necessary cordova plugins - the repository can be found at web address above: www.nmpjs.com
You can deploy apps to the iOS Simulator, but to deploy apps directly to phones you will need:

  1. Apple Developer Account ($100 fee) http://developer.apple.com - you will need to sign your apps with your developer ID.
  2. I don’t recall, but I don’t think you can’t even compile an app to the simulator, let alone to a real phone, without a developer ID. Once you create your developer ID account, you then add in “authorized devices” to your online developer account
    • you would add your iPhones, or other iPhones UUIDs to your developer account
    • then attach that device to your Mac…and then that phone will appear in Xcode which will allow you to deploy apps to ONLY those devices listed in your developer account (apple sucks this way)
  3. In Xcode, in your project link/sign your project with your developerID
  4. You may find your version of Xcode still won’t deploy your app to your phone (step #3) because it doesn’t recognize the phone type or latest iOS on that device, here is a thread to help you understand what you must do if this happens:

Happy coding!

PS: I will periodically update this guide as it evolves and/or others make relevant contributions.

==========================================
For Ionic v1 projects, the gulpfile.js is preformatted for gulp v3.9.1, it will need to be modified to work with gulp v4.x (ie: 4.0.2):

Default installed gulpfile.js:

var gulp = require('gulp');
var sass = require('gulp-sass');
var cleanCss = require('gulp-clean-css');
var rename = require('gulp-rename');

var paths = {
  sass: ['./scss/**/*.scss']
};

gulp.task('default', ['sass']);

gulp.task('sass', function(done) {
  gulp.src('./scss/ionic.app.scss')
    .pipe(sass())
    .on('error', sass.logError)
    .pipe(gulp.dest('./www/css/'))
    .pipe(cleanCss({
      keepSpecialComments: 0
    }))
    .pipe(rename({ extname: '.min.css' }))
    .pipe(gulp.dest('./www/css/'))
    .on('end', done);
});

gulp.task('watch', ['sass'], function() {
  gulp.watch(paths.sass, ['sass']);
});

There are only a few changes, they are subtle, but the gulpfile.js needs to be modified to look like this:

var gulp = require('gulp');
var sass = require('gulp-sass')(require('sass')) ;
var cleanCss = require('gulp-clean-css');
var rename = require('gulp-rename');

var paths = {
  sass: ['./scss/**/*.scss']
};

gulp.task('sass', function(done) {
  gulp.src('./scss/ionic.app.scss')
    .pipe(sass())
    .on('error', sass.logError)
    .pipe(gulp.dest('./www/css/'))
    .pipe(cleanCss({
      keepSpecialComments: 0
    }))
    .pipe(rename({ extname: '.min.css' }))
    .pipe(gulp.dest('./www/css/'))
    .on('end', done);
});

gulp.task('watch', function () {
    gulp.watch(paths.sass, gulp.series('sass'));
});

gulp.task('default', gulp.series('sass','watch'));

A couple of notes:

  • It’s great that you’re using NVM, but you’re still installing node under brew, instead of letting NVM manage it. I would invert the order here and install NVM first, and not doing a brew node install.
  • It’s always safest to stick with LTS versions of Node. I think @latest is too aggressive.

@rapropos - I would love for others to make better suggestions and recommendations, I would like to see this constantly updated as a running/live document for everyone to use/reference. It can be tricky for new users and existing users where the requirements/environments have changed. The two guides I added are what I did to get everything to work…for my Ionic v1 app…after I had to port my dev environment to a new Mac. By no means am I an expert, but its what worked.

UPDATE Oct 18 2021

This update is now to implement Ionic v1 (v1.3.4) on Cordova 10, using cordova-ios v6.2 on a Mac running Big Sur (v11.6)

Summary: This is very similar to the OP but with some critical changes. As pointed out by @rapropos above, using Homebrew for certain packages can present issues - and I ran into those issues when upgrading my environment. Homebrew is only need for initial install of a few packages, then NodeJS itself should be managed via NVM…and then NPM used to install node packages (as their names imply).

Requirements:

  1. Xcode 12 or higher
  2. Cordova 10
  3. cordova-ios v6.x (v6.2.0)
  4. Node v14+ (v14.18.1)
  5. Homebrew, NVM, & NPM *** see notes below
    PREREQUISITE - Install homebrew:
          A: ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
          B: brew update
    	
    1. Download and install Java SDK v1.8_xxx
          A. Link: https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html
          B. Cordova 10.x is still pinned to Java 1.8, you can't use a higher Java version
    
    2. Install latest Apache ANT 
          A. "brew install ant"
    		
    3. Install intel universal mavericks
          A. Link: https://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=&ved=2ahUKEwix4vrrms3qAhWjT98KHcdwDnsQFjABegQIARAB&url=https%3A%2F%2Fsourceforge.net%2Fprojects%2Fgit-osx-installer%2F&usg=AOvVaw0ab9OGLPy1CnM8PKUa9k_c)
    
    4. download and Install the current Xcode for your OSX
          A. start xcode and agree to licenses
    
    5. Using homebrew, install NVM (Node VERSION Manager)
          A. 
               1. `brew update`
               2. `brew install nvm` 
          B. Prepare nvm environment, in your root user directory
               1. If not exist :  `mkdir ~/.nvm`
               2. Add path to profile:  `vim ~/.bash_profile` (or which ever bash you are using)
               3. Add lines to (.bash_profile, or .zshrc for macOS Catalina or later)
                   `export NVM_DIR=~/.nvm`
                   `source ($brew --prefix nvm)/nvm.sh
                   save and exist file
               4. load the variable file: `source ~/.bash_profile` or `source ~/.zshrc`

From this point on, you should not need HOMEBREW for any other installs or updates.

     6. Using NVM, install NodeJS
    	  A.  Ionic-CLI greater than v1.7.16, use nodeJS@latest
    	  B.  If for whatever reason you still need Ionic-cli older than v1.7.16, then you will need to pin your node install to nodeJS@6.11.0  (this will auto install npm 3.10.10)
         	  - from here: https://nodejs.org/en/  (use the 6.11.0 package)
         	  - after you install DO NOT update/upgrade node and npm to the latest versions
    	          - Node versions > 6.11.0 are incompatible with ionic v1.7.16+
         	  - However, as Ionic is up to v6x, there should be no reason for v1.7.16
    
    	  C.  `nvm install 14`  // this will install latest `LTS` node version
    	         OR `nvm install 14.x`  //this will install the specific version.

Now that NODE/NVM are cleanly installed, we move over to NPM for the
remainder of installs. You SHOULD NOT have to use “sudo” for any npm
install commands. If you do, see opening notes and continue at your
own risk. “sudo npm install -g XXXX” can open up a can of worms for
you. After each NPM package install I recommend saving to a
POST_INSTALL.log file any package WARN/Deprecated notices for future
reference. I did this and it saved my butt on a few things

    7.  Install gulp-cli:
           A. "npm install gulp-cli -g". // global install

    8.  Install gulp
           A.  To install to project only: "npm install --save-dev gulp"
           B.  OR to install globally: "npm install -g gulp"

    9.  Install Cordova:
           A. Local install only: "npm install cordova@latest"
           B. Or global install: "npm install -g cordova@latest"  (preferred (you MAY need 'sudo' here)

    10. Install Ionic-CLI:
           A. "npm install -g @ionic/cli" 

    11. Install ios Simulator module: 
           A. "npm install -g ios-sim"
    
    12. Install ios-deploy 
           A. "npm install -g ios-deploy"
    
   
    13.  Run NPM Audit to fix any errors
             A. "npm audit fix"  - if necessary, add  "--force"

    14. Update existing modules, to eliminate potential dependency issues:
            A. "npm update -g fsevent@latest"
            B. "npm update -g graceful-fs@latest"
            C. "npm update -g chokidar@latest"

    15. Install cordova resources:
            A. "npm install -g cordova-res"  //cordova/ionic resource files for icon/splash images
            B. "npm install -g native-run" //provides support to launch app direct to simulators

    16.  Will your project need Facebook4 and/or FirebaseX plugins, then you WILL need cocoapods
    	    A.	 "sudo gem install cocoapods"
    	    B.  "pod setup"
    
    17.  Create a project : 'ionic start appName tabs --type=ionicX`
            IE: ionic start appName tabs --type=ionic1 --no-link
             NOTE: if you are creating an Ionic v1 project, see to #19
    	     A. this should auto add: 'ionic Cordova platform add ios' for you if it does not, you will need to execute that command manually
                 1.  "cd $PATH/<project-name>"
                 2. "ionic cordova platform add ios"
             B. Start Xcode, go to File -> Open and navigate to your project folder:
                 $PATH/appName/platforms/ios  and open the `appName.workspace` project
             C. Select your Target appName and go to 'signing & capabilities' and select 'automatically manage signing' and select your team developer ID.  If you do not do this, your build will fail.
             D. build your base project
                 1. "cd $PATH/<project-name>"
    	         2. "ionic cordova build ios"
             C. deploy your first project
    	         1. "ionic Cordova run iOS"

    18.  If you are rebuilding an environment for an existing Ionic v1 app, you will need to set your minimum supported iOS level to 11.0.  If you do not, you will experience errors all throughout your project. In your config.xml file:
              `<preference name="deployment-target" value="11.0" />`

    19.  **For Ionic v1 projects ONLY**. As of ionic/tool-kit 3.2.4 (Sept 2020), Gulp was upgraded from 3.9.1 to 4.0.2 - this causes breaking changes in v1 projects.  The following few items need to happen:
             A. "npm update -g gulp-sass@latest (to gulp-sass v5)
             B. "npm install --save-dev sass@latest (sass compiler)
             C. Create a project : 'ionic start myApp tabs --type=ionic1 --no-link'
    	     D. this should auto add: 'ionic Cordova platform add ios' for you if it does not, you will need to execute that command manually
                 1.  "cd $PATH/<project-name>"
                 2. "ionic cordova platform add ios"
             E. The ionic v1 project auto installs a `gulpfile.js` to the root of your project, the file is formatted for gulp v3.9.1, it will need to be modified to work with gulp v4.x.  See `gulpfile.js` changes below.
             F. build your base project
                 1. "cd $PATH/<project-name>"
    	         2. "ionic cordova build ios"
             G. deploy your first project
    	         1. "ionic Cordova run iOS"

If you have compiled without errors then you are good to go. Next begin building your real project by installing all the necessary plugins and testing on real iOS device or simulators. For true beginners below are some tips on how to get started deploying apps in the Mac world:

Install all necessary cordova plugins - the repository can be found at web address above: www.nmpjs.com
You can deploy apps to the iOS Simulator, but to deploy apps directly to phones you will need:

  1. Apple Developer Account ($100 fee) http://developer.apple.com - you will need to sign your apps with your developer ID.
  2. I don’t recall, but I don’t think you can’t even compile an app to the simulator, let alone to a real phone, without a developer ID. Once you create your developer ID account, you then add in “authorized devices” to your online developer account
    • you would add your iPhones, or other iPhones UUIDs to your developer account
    • then attach that device to your Mac…and then that phone will appear in Xcode which will allow you to deploy apps to ONLY those devices listed in your developer account (apple sucks this way)
  3. In Xcode, in your project link/sign your project with your developerID
  4. You may find your version of Xcode still won’t deploy your app to your phone (step #3) because it doesn’t recognize the phone type or latest iOS on that device, here is a thread to help you understand what you must do if this happens:

Happy coding!

PS: I will periodically update this guide as it evolves and/or others make relevant contributions.

==========================================
For Ionic v1 projects, the gulpfile.js is preformatted for gulp v3.9.1, it will need to be modified to work with gulp v4.x (ie: 4.0.2):

Default installed gulpfile.js:

var gulp = require('gulp');
var sass = require('gulp-sass');
var cleanCss = require('gulp-clean-css');
var rename = require('gulp-rename');

var paths = {
  sass: ['./scss/**/*.scss']
};

gulp.task('default', ['sass']);

gulp.task('sass', function(done) {
  gulp.src('./scss/ionic.app.scss')
    .pipe(sass())
    .on('error', sass.logError)
    .pipe(gulp.dest('./www/css/'))
    .pipe(cleanCss({
      keepSpecialComments: 0
    }))
    .pipe(rename({ extname: '.min.css' }))
    .pipe(gulp.dest('./www/css/'))
    .on('end', done);
});

gulp.task('watch', ['sass'], function() {
  gulp.watch(paths.sass, ['sass']);
});

There are only a few changes, they are subtle, but the gulpfile.js needs to be modified to look like this:

var gulp = require('gulp');
var sass = require('gulp-sass')(require('sass')) ;
var cleanCss = require('gulp-clean-css');
var rename = require('gulp-rename');

var paths = {
  sass: ['./scss/**/*.scss']
};

gulp.task('sass', function(done) {
  gulp.src('./scss/ionic.app.scss')
    .pipe(sass())
    .on('error', sass.logError)
    .pipe(gulp.dest('./www/css/'))
    .pipe(cleanCss({
      keepSpecialComments: 0
    }))
    .pipe(rename({ extname: '.min.css' }))
    .pipe(gulp.dest('./www/css/'))
    .on('end', done);
});

gulp.task('watch', function () {
    gulp.watch(paths.sass, gulp.series('sass'));
});

gulp.task('default', gulp.series('sass','watch'));

ADDITOINAL NOTES:

  1. Build will fail on Ionic v1.3.4 (specifically the last v1 version available) because a specific SASS file has syntax errors in it, fix the file before compiling:
    In file: www\lib\ionic\scss_platform.scss line 80 and 81
    Both lines are missing closing “)” - add the closing “)” to both lines, save exit file

  2. Whitelist plugin used to be a standard plugin for cordova apps - but it has been integrated directly into Cordova AND it has changed. Ionic v1 auto-adds the cordova-plugin-whitelist. Remove the plugin AND go into myApp\package.json and remove whitelist plugin references:
    “cordova-plugin-whitelist”: “^1.3.3”,
    “cordova-plugin-whitelist”: {},
    And remove from config.xml

  3. If using the cordova-plugin-file-transfer (which is also a dependency for cordova-plugin-file-downloader) plugin, be aware of the above whitelist issue in regards to the following issue.
    Cordova Android 10.0.0 not compiling - cannot find symbol "import org.apache.cordova.Whitelist;" ¡ Issue #306 ¡ apache/cordova-plugin-file-transfer ¡ GitHub

  4. For FirebaseX plugin - which you will most likely need. There is a POD fix that must be implemented or it will throw a build error.
    A. Add the firebasex plugin: ionic cordova plugin add cordova-plugin-firebasex@latest-cli
    B Go to the folder: $PATH/appName/platforms/ios
    C. Update your PODS:
    pod repo update
    pod install
    D. This is needed but will also introduce an issue related to this output message:
    target overrides the LD_RUNPATH_SEARCH_PATHSbuild setting Use the $(inherited) flag, or E. To resolve, follow these instructions: ios - - Use the `$(inherited)` flag, or - Remove the build settings from the target. CocoaPod Swift3 pod update error - Stack Overflow
    F. Then repeat step #C again.

2 Likes

Hello, Thanks a ton for your walkthrough.
I have the same in local but never tried to work with latests versions as you do.
Where I’m surprised is that you manage to run with Cordova 9 or 10 whereas many
plugins are not compatible because they refer to ‘requireCordovaModule’ which can not be used with Cordova 9 (app-preferences, googleplus…)
Didn’t you face this issue too ?

KR

@pascalpediroda You are welcome, I hope it helped.

Here is my current environment in which I am still running Ionic V1

Ionic:

   Ionic CLI         : 6.17.0 (C:\Users\rolin\AppData\Roaming\npm\node_modules\@ionic\cli)
   Ionic Framework   : ionic1 1.3.4
   @ionic/v1-toolkit : 3.2.15

Cordova:

   Cordova CLI       : 10.0.0
   Cordova Platforms : not available
   Cordova Plugins   : cordova-plugin-ionic-keyboard 2.2.0, cordova-plugin-ionic-webview 5.0.0, (and 29 other plugins)

Utility:

   cordova-res                          : 0.15.3
   native-run (update available: 1.5.0) : 1.4.0

System:

   Android SDK Tools : 26.1.1 (C:\Users\rolin\AppData\Local\Android\sdk)
   NodeJS            : v14.17.5 (C:\Program Files\nodejs\node.exe)
   npm               : 6.14.14
   OS                : Windows 10

Regarding the plugins, I only faced a issues on a few specific plugins but those issues were resolved with some custom edits to the plugins by me or others (in the same boat). My plugins are as follows:

com-sarriaroman-photoviewer 1.2.4 "PhotoViewer"
com.peerio.cordova.plugin.carrier 1.0.1 "Carrier"
com.phonegap.plugins.nativesettingsopener 1.0.1 "Native settings"
cordova-clipboard 1.3.0 "Clipboard"
cordova-launch-review 4.0.1 "Launch Review"
cordova-plugin-add-swift-support 2.0.2 "AddSwiftSupport"
cordova-plugin-appavailability 0.4.2 "AppAvailability"
cordova-plugin-appinfo 2.1.2 "AppInfo Plugin"
cordova-plugin-customurlscheme 5.0.2 "Custom URL scheme"
cordova-plugin-device 2.0.3 "Device"
cordova-plugin-deviceinformation 2.0.2 "DeviceInformation"
cordova-plugin-dialogs 2.0.2 "Notification"
cordova-plugin-email 1.2.7 "EmailComposer"
cordova-plugin-file-downloader 0.4.0 "Downloader"
cordova-plugin-file-md5 0.3.3 "MD5 Checksum"
cordova-plugin-file-transfer 2.0.0-dev "File Transfer"
cordova-plugin-file 6.0.2 "File"
cordova-plugin-firebasex 13.0.0-cli "Google Firebase Plugin"
cordova-plugin-geolocation 4.1.0 "Geolocation"
cordova-plugin-inappbrowser 5.0.0 "InAppBrowser"
cordova-plugin-ionic-keyboard 2.2.0 "cordova-plugin-ionic-keyboard"
cordova-plugin-ionic-webview 5.0.0 "cordova-plugin-ionic-webview"
cordova-plugin-network-information 3.0.0 "Network Information"
cordova-plugin-qrscanner 3.0.1 "QRScanner"
cordova-plugin-queries-schemes 0.1.1 "App Queries Strings"
cordova-plugin-request-location-accuracy 2.3.0 "Request Location Accuracy"
cordova-plugin-screensize 1.3.1 "screensize"
cordova-plugin-sim 1.3.3 "SIM"
cordova-plugin-splashscreen 6.0.0 "Splashscreen"
cordova-plugin-statusbar 2.4.3 "StatusBar"
cordova-plugin-vibration 3.1.1 "Vibration"
cordova-plugin-whitelist 1.3.5 "Whitelist"
cordova-plugin-zip 3.1.0 "cordova-plugin-zip"
cordova-sms-plugin 1.0.1 "Cordova SMS Plugin"
cordova.plugins.diagnostic 6.1.0 "Diagnostic"

All of them are pretty much up to date too.

1 Like

Thanks ! My own app compiles, load the splash screen and then white screen… Main difference is that I have nodeJS 17.1.0 vs. yours 14.17.5. Did you notice some issue with node versions greater than 14.x with Ionic 6 ? I have noticed your old comment “Node versions > 6.11.0 are incompatible with ionic v1.7.16+” , but nothing about ionic 6 ?

@pascalpediroda - I would downgrade your Node to 14.X. It is too new and I don’t believe Node17 is even compatible with the latest Ionic CLI v6. Do some research on it to verify, but I don’t think its compatible yet. If it is, and you get it work, please contribute back to this install guide.

Hi, thanks Rolinger, I will first downgrade my node version :wink:

One thing I forgot : creating a blanck new project as you propose at step 17 did work for me with node 17.x But not my own project… I suspect some further incompatibility with modules.

One additional question @rolinger : Are you also in Angular 1 ? and if yes, how do you wrap Corova ? through ngCordova or through ionic native v2 ? I’m testing blank new project (my old one is still ngCordova) to integrate an Angular 1 ionic v1 pro with ionic native v2 but I’m unable to make it work with simple geolocation or camera components.

This is great collection of extremely useful info. Thank you very much rolinger. You are a big saviour to me, and I am sure to many others. I wish I had seen your post earlier. And I wished, Ionic team had incorporated your info in their documentation that is currently very useless. Thanks again.

FYI: For my ionic-v1 I had to have these changes (to your instructions) to be able to get everything including gulp tasks to work:

  • npm install --save-dev gulp@4
  • npm i @ionic/v1-toolkit@3
  • And I had to remove the "(require(‘sass’)) " from the gulpfile.js file
    before: var sass = require(‘gulp-sass’)(require(‘sass’)) ;
    after: var sass = require(‘gulp-sass’);

Thanks @adamjeo - my own guide has helped me once or twice after having to reinstall environments. Too many little details that are too easy to forget if they aren’t written down.