I've come across an error that I have no idea how it's come about, but it is blocking me to develop on a PC... I can build my app on a Mac, but when I try on a Windows box it fails with.
cordova build android --stacktrace
config file undefined requested for changes not found at platforms\android\undefined, ignoring config file undefined requested for changes not found at platforms\android\undefined, ignoring
The "path" argument must be of type string. Received type undefined
TypeError [ERR_INVALID_ARG_TYPE]: The "path" argument must be of type string. Received type undefined
at validateString (internal/validators.js:112:11)
That's even on a clean Windows machine cloned from GIT.
$ ionic info
Ionic:
Ionic CLI : 5.4.13 (\AppData\Roaming\npm\node_modules\ionic) Ionic Framework : @ionic/angular 4.11.7 @angular-devkit/build-angular : 0.803.21 @angular-devkit/schematics : 8.1.3 @angular/cli : 8.3.20 @ionic/angular-toolkit : 2.0.0
Cordova:
Cordova CLI : 9.0.0 ([email protected]) Cordova Platforms : android 8.1.0 Cordova Plugins : cordova-plugin-ionic-keyboard 2.2.0, cordova-plugin-ionic-webview 4.1.3, (and 12 other plugins)
Utility:
cordova-res : 0.8.1 native-run : 0.3.0
System:
NodeJS : v12.14.0 (C:\Program Files\nodejs\node.exe) npm : 6.13.4 OS : Windows 10
{
"name": "xyz1",
"version": "0.0.7",
"author": "Keni Barwick",
"homepage": "https://barwick.net/",
"scripts": {
"ng": "ng",
"start": "ng serve",
"build": "ng build",
"test": "ng test",
"lint": "ng lint",
"e2e": "ng e2e"
},
"private": true,
"dependencies": {
"@angular/common": "~8.1.2",
"@angular/compiler": "~8.1.2",
"@angular/core": "~8.1.2",
"@angular/fire": "^5.2.1",
"@angular/forms": "~8.1.2",
"@angular/http": "^7.2.15",
"@angular/platform-browser": "~8.1.2",
"@angular/platform-browser-dynamic": "~8.1.2",
"@angular/router": "~8.1.2",
"@ionic-native/app-version": "^5.18.0",
"@ionic-native/core": "^5.18.0",
"@ionic-native/google-analytics": "^5.18.0",
"@ionic-native/health": "^5.18.0",
"@ionic-native/image-picker": "^5.18.0",
"@ionic-native/ionic-webview": "^5.18.0",
"@ionic-native/onesignal": "^5.18.0",
"@ionic-native/splash-screen": "^5.18.0",
"@ionic-native/status-bar": "^5.18.0",
"@ionic/angular": "^4.11.7",
"cordova-android": "^8.1.0",
"cordova-plugin-androidx": "^1.0.2",
"cordova-plugin-androidx-adapter": "^1.1.0",
"cordova-plugin-app-version": "^0.1.9",
"cordova-plugin-exitapp2": "^1.0.4",
"cordova-plugin-firebasex": "^7.0.1",
"cordova-plugin-google-analytics": "1.6.0",
"cordova-plugin-health": "^1.1.3",
"cordova-plugin-telerik-imagepicker": "^2.3.3",
"cordova-res": "^0.8.1",
"core-js": "^2.6.11",
"firebase": "^6.5.0",
"html-webpack-plugin": "^3.2.0",
"kr.co.joycorp.cordova.exitapp": "^1.0.2",
"ngx-pipes": "^2.6.0",
"npm": "^6.13.4",
"onesignal-cordova-plugin": "^2.8.1",
"rxjs": "^6.5.4",
"tslib": "^1.9.0",
"zone.js": "~0.9.1"
},
"devDependencies": {
"@angular-devkit/architect": "~0.801.2",
"@angular-devkit/build-angular": "^0.803.21",
"@angular-devkit/core": "~8.1.2",
"@angular-devkit/schematics": "~8.1.2",
"@angular/cli": "8.3.20",
"@angular/compiler": "~8.1.2",
"@angular/compiler-cli": "~8.1.2",
"@angular/language-service": "~8.1.2",
"@ionic/angular-toolkit": "~2.0.0",
"@ionic/lab": "2.0.10",
"@types/jasmine": "~3.3.8",
"@types/jasminewd2": "~2.0.3",
"@types/node": "~8.9.4",
"codelyzer": "^5.2.1",
"cordova-plugin-device": "^2.0.2",
"cordova-plugin-ionic-keyboard": "^2.2.0",
"cordova-plugin-ionic-webview": "^4.1.1",
"cordova-plugin-splashscreen": "^5.0.2",
"cordova-plugin-statusbar": "^2.4.2",
"cordova-plugin-whitelist": "^1.3.3",
"jasmine-core": "~3.4.0",
"jasmine-spec-reporter": "~4.2.1",
"karma": "~4.1.0",
"karma-chrome-launcher": "~2.2.0",
"karma-coverage-istanbul-reporter": "~2.0.1",
"karma-jasmine": "~2.0.1",
"karma-jasmine-html-reporter": "^1.5.1",
"protractor": "~5.4.0",
"ts-node": "~7.0.0",
"tslint": "~5.15.0",
"typescript": "~3.4.3"
},
"description": "An Ionic project",
"cordova": {
"plugins": {
"cordova-plugin-telerik-imagepicker": {},
"cordova-plugin-health": {
"HEALTH_READ_PERMISSION": "App needs read access",
"HEALTH_WRITE_PERMISSION": "App needs write access",
"GMS_VERSION": "16.0.1"
},
"cordova-plugin-whitelist": {},
"cordova-plugin-statusbar": {},
"cordova-plugin-device": {},
"cordova-plugin-splashscreen": {},
"cordova-plugin-ionic-webview": {
"ANDROID_SUPPORT_ANNOTATIONS_VERSION": "27.+"
},
"cordova-plugin-ionic-keyboard": {},
"kr.co.joycorp.cordova.exitapp": {},
"cordova-plugin-app-version": {},
"cordova-plugin-google-analytics": {},
"cordova-plugin-firebasex": {},
"cordova-plugin-androidx-adapter": {},
"onesignal-cordova-plugin": {}
},
"platforms": [
"android"
],
"browserslist": []
}
}
I've updated all plugin's that show as red in npm outdated, checked lots of Stacks for answers but to no avail...
platforms\android\xxxto point to some config file is goofing up so it can't find your config file and perhaps that's why the path ends up wrong. - jfriend00