Error running npm/ionic commands - Cannot read property 'find' of undefined


#1

I’m building an app in Ionic using Angular/Firebase.

I want to test the app on my android device, which, previously has worked perfectly. However, recently I’ve not been able to run it as I get an error.

$ ionic cordova run android --device --prod

Which then results in an error:

Running app-scripts build: --prod --platform android --target cordova
[15:36:05]  build prod started ...
[15:36:05]  clean started ...
[15:36:05]  clean finished in 6 ms
[15:36:05]  copy started ...
[15:36:06]  deeplinks started ...
[15:36:06]  deeplinks finished in 270 ms
[15:36:06]  ngc started ...
[15:36:19]  ngc finished in 12.61 s
[15:36:19]  preprocess started ...
[15:36:19]  preprocess finished in 1 ms
[15:36:19]  webpack started ...
[15:36:19]  copy finished in 13.84 s
[15:37:27]  webpack finished in 68.39 s
[15:37:27]  uglify started ...
[15:37:27]  sass started ...
Without `from` option PostCSS could generate wrong source map and will not find Browserslist config. Set it to CSS file path or to `undefined` to prevent this warning.
[15:37:29]  sass finished in 1.66 s
[15:37:29]  cleancss started ...
[15:37:31]  cleancss finished in 2.77 s
[15:37:56]  uglify finished in 28.99 s
[15:37:56]  postprocess started ...
[15:37:56]  postprocess finished in 25 ms
[15:37:56]  lint started ...
[15:37:56]  build prod finished in 110.64 s
> cordova run android --device
Android Studio project detected

(node:64964) UnhandledPromiseRejectionWarning: TypeError: Cannot read property 'find' of undefined
    at Object.resolveParent (C:\Users\Simon K\AppData\Roaming\npm\node_modules\cordova\node_modules\cordova-common\src\util\xml-helpers.js:207:26)
    at C:\Users\Simon K\AppData\Roaming\npm\node_modules\cordova\node_modules\cordova-common\src\ConfigChanges\ConfigChanges.js:345:53
    at Array.forEach (<anonymous>)
    at is_conflicting (C:\Users\Simon K\AppData\Roaming\npm\node_modules\cordova\node_modules\cordova-common\src\ConfigChanges\ConfigChanges.js:337:17)
    at PlatformMunger.add_config_changes (C:\Users\Simon K\AppData\Roaming\npm\node_modules\cordova\node_modules\cordova-common\src\ConfigChanges\ConfigChanges.js:188:33)
    at C:\Users\Simon K\AppData\Roaming\npm\node_modules\cordova\node_modules\cordova-lib\src\cordova\prepare.js:130:32
    at _fulfilled (C:\xampp\htdocs\project x\anonymous-social\platforms\android\cordova\node_modules\q\q.js:854:54)
    at self.promiseDispatch.done (C:\xampp\htdocs\project x\anonymous-social\platforms\android\cordova\node_modules\q\q.js:883:30)
    at Promise.promise.promiseDispatch (C:\xampp\htdocs\project x\anonymous-social\platforms\android\cordova\node_modules\q\q.js:816:13)
    at C:\xampp\htdocs\project x\anonymous-social\platforms\android\cordova\node_modules\q\q.js:624:44
(node:64964) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 1)
(node:64964) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.

I’m not sure why this is happening. I tried removing my node_modules folder and then doing npm install, but that didn’t fix it. I think it could possibly be an android issue? As I’m still able to build on iOS

Any ideas? Thank you!!


#2

Managed to (temporarily?) fix this issue by removing android and reinstalling…

cordova platform remove android
cordova platform add android

hope this can help someone in the future.