Hi, trying to set up a development environment for ionic on a new computer and i encountered huge problems when i try to work with ionic 3.9.2 apps. I got error everytime i try to run npm install because of node-sass and its python and msbuilt tools requirement. Even after i installed python and visual studio 2019 and later even 2017, i cant get it work. This was all on node version 12, then i tried 10 but it doesnt help. I had to downgrade to node 8 to get npm install work and after that succesfully run app.
My question is, am i stuck to node 8 with 3.9.2 app, or can i update some of its dependencies, so it will run on more recent node version? Maybe there is problem in ionic app scripts, but if i update to recent version, will it work with 3.9.2 app? And more general question, whats the best way to update dependencies? Do i have to go plugin by plugin and update it separately? And how do i know to which version can i upgrade, without breaking my app (for example because newer version works only with ionic 4).
Here is my package.json:
{
"name": "ionic-hello-world",
"author": "Ionic Framework",
"homepage": "http://ionicframework.com/",
"private": true,
"scripts": {
"clean": "ionic-app-scripts clean",
"build": "ionic-app-scripts build",
"ionic:build": "ionic-app-scripts build",
"ionic:serve": "ionic-app-scripts serve"
},
"dependencies": {
"@angular/common": "5.0.0",
"@angular/compiler": "5.0.0",
"@angular/compiler-cli": "5.0.0",
"@angular/core": "5.0.0",
"@angular/forms": "5.0.0",
"@angular/http": "5.0.0",
"@angular/platform-browser": "5.0.0",
"@angular/platform-browser-dynamic": "5.0.0",
"@ionic-native/app-minimize": "^4.4.2",
"@ionic-native/barcode-scanner": "^4.5.2",
"@ionic-native/core": "^4.3.2",
"@ionic-native/device": "^4.5.2",
"@ionic-native/geolocation": "^4.3.2",
"@ionic-native/native-storage": "^4.3.2",
"@ionic-native/network": "^4.3.2",
"@ionic-native/splash-screen": "^4.3.2",
"@ionic-native/sqlite": "^4.3.2",
"@ionic-native/status-bar": "^4.3.2",
"@ionic/storage": "2.1.3",
"android-versions": "^1.2.1",
"cordova-android": "7.1.4",
"cordova-plugin-appminimize": "^1.0.1",
"cordova-plugin-certificates": "^0.6.4",
"cordova-plugin-compat": "^1.2.0",
"cordova-plugin-console": "^1.1.0",
"cordova-plugin-device": "^1.1.7",
"cordova-plugin-geolocation": "^2.4.3",
"cordova-plugin-nativestorage": "^2.3.2",
"cordova-plugin-network-information": "^1.3.4",
"cordova-plugin-splashscreen": "^4.1.0",
"cordova-plugin-statusbar": "^2.4.2",
"cordova-plugin-whitelist": "^1.3.3",
"cordova-sqlite-storage": "^2.6.0",
"hex2dec": "^1.0.1",
"ionic": "^3.16.0",
"ionic-angular": "^3.9.2",
"ionic-plugin-keyboard": "^2.2.1",
"ionicons": "3.0.0",
"moment": "^2.18.1",
"phonegap-nfc": "^1.0.3",
"phonegap-plugin-barcodescanner": "^7.1.2",
"rxjs": "5.5.2",
"sw-toolbox": "3.4.0",
"uuid": "^3.3.2",
"xml2js": "^0.4.17",
"zone.js": "0.8.18"
},
"devDependencies": {
"@ionic/app-scripts": "3.1.0",
"ionic": "3.13.2",
"retyped-xml2js-tsd-ambient": "0.0.0-0",
"typescript": "^2.6.1"
},
"cordovaPlugins": [
"cordova-plugin-whitelist",
"cordova-plugin-console",
"cordova-plugin-statusbar",
"cordova-plugin-device",
"cordova-plugin-splashscreen",
"ionic-plugin-keyboard"
],
"cordovaPlatforms": [],
"description": " An Ionic project",
"cordova": {
"platforms": [
"android"
],
"plugins": {
"ionic-plugin-keyboard": {},
"cordova-plugin-whitelist": {},
"cordova-plugin-console": {},
"cordova-plugin-device": {},
"cordova-plugin-geolocation": {
"GEOLOCATION_USAGE_DESCRIPTION": "To locate you"
},
"cordova-plugin-nativestorage": {},
"cordova-plugin-network-information": {},
"cordova-plugin-splashscreen": {},
"cordova-plugin-statusbar": {},
"cordova-sqlite-storage": {},
"cordova-plugin-appminimize": {},
"phonegap-plugin-barcodescanner": {
"ANDROID_SUPPORT_V4_VERSION": "27.+"
},
"cordova-plugin-certificates": {},
"phonegap-nfc": {}
}
}
}