Ionic versions - understanding difference between ionic cli version and ionic core version - ionic-framework

I am starting to work on an existing Ionic 4 application. In that project #ionic/core version is 4.8.1. To start, I installed ionic CLI and noticed its version to be 5.4.15. I was not able to find easily if I can install an older ionic CLI version.
However, I feel CLI version and the application version need not be the same always. So, now, I would like to know how these things are related. Also, for me to run my existing project, can I use the same version of ionic CLI.
I wanted to mention that all ionic-native/**** references are 5.10.0 which I think should fine as #ionic/core and #ionic/angular is the version which says what my ionic project version is.

Related

How to create an Ionic v6 Project based on Angular

In versions of the Ionic framework, after Ionic v2, an Ionic v3 Angular project can be created by setting --type=ionic-angular e.g.
ionic start MyApp blank --type=ionic-angular
So even if Ionic v5 is installed the above command would create an Ionic v3 Angular project.
My question is how can I always create an Ionic v6 Angular project, even if I install the latest version of Ionic in 6 months time? E.g. When Ionic v7 is released will there be a way to create an Ionic v6 Angular project?
It will not change, it will stay the same as you posted.
You can force it by installing #ionic/angular version to current version in your package.json file.
However, Ionic is a very unstable framework even after 10 years. Every time there is a new release, old plugins completely get messed up. And you need to update plugins to stay in sync with iOS/Android updates. I have wasted so many hours every time there is a new Ionic or Capacitor release. The process is never straightforward.

which version is/are suitable for a production app for ionic CLI and Ionic framework?

As ionic 4 is released, I am wondering if I should start my new project in ionic 4 and ionic 4.9 (CLI) or any stable version you guys would suggest to prevent any issues ?
I think you can start your project with Ionic 4.0. With this final release, your app will perform better than version 3. Your doubt is good because there are still some bugs this is release but Ionic version 4.0 will allow you to update your application easily with the newer version. Ionic Framework team is working really hard for bug-free Ionic 4.0.

Can i run the ionic v1 project when i have ionic CLI 3.0.0

Now i have the latest version of ionic 3.0.0. My ionic version: 3.0.0.
And my ionic info:
global packages:
#ionic/cli-utils : 1.0.0
Ionic CLI : 3.0.0
System:
Node : v7.3.0
OS : macOS Sierra
Xcode : Xcode 8.3.2 Build version 8E2002
ios-deploy : 1.9.0
ios-sim : 5.0.13
Now i have two question in this. I searched , but not able to get the clear. If any one can answer. It will be helpful for many new bie like me.
So,
1.Now i have ionic 3.0.0. Then if i want to open the project in ionic v2. i will give ` ionic start newapp blank --v2 or (--ts_)'. And i will use some updated plugin having in ionic 3.0.0. Does it will work out. or i need to create a seperate project for ionic version 3 ??
Now i have old ionic 1 project that i am still working on. So once i update my ionic to3.0.0. Now what i done is :
ionic start newapp blank --v1 then i copied my old project www folder to this newapp and i replaced it.
My question is. Still can i use angular js1 to code for this project also. And while make ionic release means when i want to put it in my app store. Does any problem will occur. Because i have create this project as --v1.
If yes when i create a new project ionic start newapp blank --v1 its asking me Link this app to your Ionic Dashboard to use tools like Ionic View? y/N : what should i need to do
Please clarify me..thanks in advance
Using the ionic-cli version 3.0 you should be able to work on all versions of ionic projects.
The new cli will create an ionic v3 app by default. If you want to create an ionic v1 app, you need to add --v1. But if you are starting with a new app, I strongly recommend going for v2+.
Depending on the version your ionic app has, you need to add some additional plugins:
#ionic/cli-plugin-ionic-angular – Ionic Angular project plugin that provides useful build tools and generators. (ionic v2+)
#ionic/cli-plugin-ionic1 – Ionic 1 project plugin that has functionality ported from the old CLI.
#ionic/cli-plugin-cordova – Essential for an Ionic/Cordova app.
#ionic/cli-plugin-proxy – For proxying CLI requests through a firewall.
I can't tell you if you need to link your app to the dashboard. If you are using the Ionic services (Push, View, etc), then it makes sense.
That being said, I have experienced quite a few "bugs" or inconsistent behaviour with the new cli, so you might need to downgrade if something doesn't work.
I had this same worry when I updated my Ionic to v3 (CLI 3.1.2). They seem to really be pushing to use their cloud services (obviously, they want to start making some money on it).
When I tried the old v1 command:
ionic build ios
I received:
The build command has been renamed. To find out more, run:
ionic cordova build --help
So, then I tried
ionic covdova build ios
That failed with this:
ionic package build ios
[ERROR] Your project file (./ionic.config.json) does not contain 'app_id'. Run ionic link.
So, after looking around a bit, I used this command and it worked:
ionic cordova build ios --v1
It asked me to install a couple of things, then chugged out a new successful build. All good.
Please use following command as I had trouble with "--v1"
ionic start newapp blank --type=ionic1
As mentioned by #Samuel.
Add Ionic 1 CLI to the devDependency list. Open package.json file in the project directory and add the following line to devDependencies.
"#ionic/cli-framework": "^1.0.0-rc.2"
Example package.json:
Running ionic repair removed package.json and node_modules then, if prompted, run npm audit fix, and then you will be asked to Install #angular/cli?

Migration from ionic beta 13 to beta 14

What are the best possible ways to migrate my project developed in ionic beta 13 version to the latest release of ionic beta 14?
I recommend to review the changelog of ionic https://github.com/driftyco/ionic/blob/master/CHANGELOG.md and the migration guide from AngularJS 1.2 to 1.3 (since the underlying AngularJS version was bumped with beta14 of ionic).
The Angular migration guide is located here: https://docs.angularjs.org/guide/migration
For most projects, the two commands that you'd want to use to get Ionic up to date are:
First, make sure your CLI is up to date:
sudo npm install -g ionic
Second, update the project libraries:
ionic lib update
For advanced users, the links shared in other answers will be of great help.

Upgrading Cordova Framework

I was having the same issue with respect to receiving an error code 4 when trying to add a contact on my device running on iOS 6.1 (although it worked on the simulators). In reading a similar post (Phonegap ContactError when saving contact on iOS 6) I saw that you should update the Cordova framework to 2.0+ to accomodate for iOS 6. I updated Xcode to 4.6, but was not sure how to go about upgrading Cordova (or updating its integration withing XCode). I'm currently running on version 1.7.0 for cordova and downloaded the 2.5 release. Is the upgrade incremental or can I make a version jump? Can anyone guide me on how to go about upgrading my Cordova framework version? Thanks in advance.
From Cordova 1.7 to Cordova 2.5, there are no migration path. I would recommend to:
Backup your full mac os system
Uninstall Cordova 1.7
Install Cordova 2.5
Create a new XCode project according the 2.5 cordova tutorial
Copy and paste your html5 code from your old to your new project
Fix the issues
It is painful, but it is a clean migration path.