Updated from ionic 4 to 5 ionic cordova android livereload error

I am trying to update my angular ionic 4 app to ionic 5. I used the following link:

npm install @ionic/angular@latest @ionic/angular-toolkit@latest --save

I am getting the following error when trying to do a livereload:

ionic cordova run android -l
[INFO] Hardware device(s) found for android. Using --device.
> ng run app:ionic-cordova-serve --host=localhost --port=8100 --platform=android
[ng] An unhandled exception occurred: Invalid options object. Copy Plugin has been initialized using an options object that does not match the API schema.
[ng]  - options[0] misses the property 'patterns'. Should be:
[ng]    [non-empty string | object { from, to?, context?, globOptions?, toType?, force?, flatten?, transform?, cacheTransform?, transformPath?, noErrorOnMissing? }, ...] (should not have fewer than 1 item)
[ng] See "/private/var/folders/1k/dwr2csfs5lnfrs7xq7520v_w0000gq/T/ng-OE3Uo3/angular-errors.log" for further details.

[ERROR] ng has unexpectedly closed (exit code 127).
        
        The Ionic CLI will exit. Please check any output above for error details.

My ionic info is:

Ionic:

   Ionic CLI                     : 6.11.0 (/Users/brentw/.nvm/versions/node/v12.18.3/lib/node_modules/@ionic/cli)
   Ionic Framework               : @ionic/angular 5.3.1
   @angular-devkit/build-angular : 0.803.29
   @angular-devkit/schematics    : 8.3.29
   @angular/cli                  : 8.3.29
   @ionic/angular-toolkit        : 2.3.1

Cordova:

   Cordova CLI       : 10.0.0
   Cordova Platforms : android 8.1.0
   Cordova Plugins   : cordova-plugin-ionic-keyboard 2.2.0, cordova-plugin-ionic-webview 4.2.1, (and 10 other plugins)

Utility:

   cordova-res : 0.15.1
   native-run  : 1.0.0

System:

   ios-sim : 8.0.2
   NodeJS  : v12.18.3 (/Users/b/.nvm/versions/node/v12.18.3/bin/node)
   npm     : 6.14.7
   OS      : macOS Catalina
   Xcode   : Xcode 11.3.1 Build version 11C504

Any idea as to what is wrong?

Thanks you very much for the reply. Unfortunately ionic doctor did not find anything.

What is interesting is that I can successfully build an .apk and run it using
ionic cordova build android --prod --release

The following still fails when trying to do a livereload.

ionic cordova run android -l

The error does point to a log file for additional information. This is what I found:

error] ValidationError: Invalid options object. Copy Plugin has been initialized using an options object that does not match the API schema.
 - options[0] misses the property 'patterns'. Should be:
   [non-empty string | object { from, to?, context?, globOptions?, toType?, force?, flatten?, transform?, cacheTransform?, transformPath?, noErrorOnMissing? }, ...] (should not have fewer than 1 item)
    at validate (/Users/b/ionic5_apps/ionic5_b-master/node_modules/copy-webpack-plugin/node_modules/schema-utils/dist/validate.js:96:11)
    at new CopyPlugin (/Users/b/ionic5_apps/ionic5_b-master/node_modules/copy-webpack-plugin/dist/index.js:24:30)
    at Object.webpackConfiguration (/Users/b/ionic5_apps/ionic5_b-master/node_modules/@ionic/angular-toolkit/builders/cordova-serve/index.js:55:39)
    at setup (/Users/b/ionic5_apps/ionic5_b-master/node_modules/@angular-devkit/build-angular/src/dev-server/index.js:80:46)
    at processTicksAndRejections (internal/process/task_queues.js:97:5

It points to a number of node_modules:
node_modules/copy-webpack-plugin - version - 6.0.3
node_modules/@ionic/angular-toolkit
node_modules/@angular-devkit

I am not sure what other node module needs copy-webpack-plugin as a dependency?

I am wondering if there is an issue with the version?

If I do a npm outdated I see the following:

Package                             Current    Wanted    Latest  Location
@angular-devkit/architect          0.803.29  0.803.29  0.1000.6  b
@angular-devkit/build-angular      0.803.29  0.803.29  0.1000.6  b
@angular-devkit/core                 8.3.29    8.3.29    10.0.6  b
@angular-devkit/schematics           8.3.29    8.3.29    10.0.6  b
@angular/cli                         8.3.29    8.3.29    10.0.6  b
@angular/common                      8.2.14    8.2.14   10.0.11  b
@angular/compiler                    8.2.14    8.2.14   10.0.11  b
@angular/compiler-cli                8.2.14    8.2.14   10.0.11  b
@angular/core                        8.2.14    8.2.14   10.0.11  b
@angular/forms                       8.2.14    8.2.14   10.0.11  b
@angular/language-service            8.2.14    8.2.14   10.0.11  b
@angular/platform-browser            8.2.14    8.2.14   10.0.11  b
@angular/platform-browser-dynamic    8.2.14    8.2.14   10.0.11  b
@angular/router                      8.2.14    8.2.14   10.0.11  b
@ionic-native/app-version            5.27.0    5.28.0    5.28.0  b
@ionic-native/ble                    5.27.0    5.28.0    5.28.0  b
@ionic-native/core                   5.27.0    5.28.0    5.28.0  b
@ionic-native/diagnostic             5.27.0    5.28.0    5.28.0  b
@ionic-native/file                   5.27.0    5.28.0    5.28.0  b
@ionic-native/in-app-browser         5.27.0    5.28.0    5.28.0  b
@ionic-native/insomnia               5.27.0    5.28.0    5.28.0  b
@ionic-native/splash-screen          5.27.0    5.28.0    5.28.0  b
@ionic-native/sqlite                 5.27.0    5.28.0    5.28.0  b
@ionic-native/status-bar             5.27.0    5.28.0    5.28.0  b
@ngrx/effects                         8.6.0     8.6.0    10.0.0  b
@ngrx/store                           8.6.0     8.6.0    10.0.0  b
@ngx-translate/core                  11.0.1    11.0.1    13.0.0  b
@ngx-translate/http-loader            4.0.0     4.0.0     6.0.0  b
@types/jasmine                       3.5.11    3.5.12    3.5.12  b
@types/node                        13.13.15  13.13.15    14.6.0  b
codelyzer                             5.2.2     5.2.2     6.0.0  b
cordova-android                       8.1.0     8.1.0     9.0.0  b
cordova-ios                           5.1.1     5.1.1     6.1.0  b
cordova-plugin-inappbrowser           3.2.0     3.2.0     4.0.0  b
cordova-plugin-ionic-webview          4.2.1     4.2.1     5.0.0  b
cordova-plugin-splashscreen           5.0.4     5.0.4     6.0.0  b
cordova-sqlite-storage                4.0.0     4.0.0     5.0.1  b
cordova.plugins.diagnostic            5.0.2     5.0.2     6.0.2  b
eslint                                6.8.0     6.8.0     7.7.0  b
jasmine-spec-reporter                 4.2.1     4.2.1     5.0.2  b
karma                                 4.4.1     4.4.1     5.1.1  b
karma-coverage-istanbul-reporter      2.1.1     2.1.1     3.0.3  b
karma-jasmine                         3.3.1     3.3.1     4.0.1  b
lodash                              4.17.19   4.17.20   4.17.20  b
protractor                            5.4.4     5.4.4     7.0.0  b
rxjs                                  6.6.0     6.6.2     6.6.2  b
tslib                                1.13.0    1.13.0     2.0.1  b
tslint                               5.20.1    5.20.1     6.1.3  b
typescript                            3.5.3     3.9.7     4.0.2  b
zone.js                               0.9.1     0.9.1    0.11.1  b

I am also seeing this on a brand new ionic 5 project. I will be creating a separate post since I cannot update title.

This appears to me like an error that occurs when Cordova Copies assets to Cordova platforms, preparing them for native builds.
Maybe you could try to repair the app via ionic doctor and then rebuild first before launching…

Thanks you very much for the response. Unfortunately running ionic doctor did not find anything.

What is interesting is I can build an .apk with
ionic cordova build android --prod --release

and it works. But if I try the

ionic cordova run android -l

I still get the error. The error does point to a log file for more information.

error] ValidationError: Invalid options object. Copy Plugin has been initialized using an options object that does not match the API schema.
 - options[0] misses the property 'patterns'. Should be:
   [non-empty string | object { from, to?, context?, globOptions?, toType?, force?, flatten?, transform?, cacheTransform?, transformPath?, noErrorOnMissing? }, ...] (should not have fewer than 1 item)
    at validate (/Users/b/ionic5_apps/ionic5_b-master/node_modules/copy-webpack-plugin/node_modules/schema-utils/dist/validate.js:96:11)
    at new CopyPlugin (/Users/b/ionic5_apps/ionic5_b-master/node_modules/copy-webpack-plugin/dist/index.js:24:30)
    at Object.webpackConfiguration (/Users/b/ionic5_apps/ionic5_b-master/node_modules/@ionic/angular-toolkit/builders/cordova-serve/index.js:55:39)
    at setup (/Users/b/ionic5_apps/ionic5_b-master/node_modules/@angular-devkit/build-angular/src/dev-server/index.js:80:46)
    at processTicksAndRejections (internal/process/task_queues.js:97:5

which shows the node modules the error is coming from:
node_modules/@ionic/angular-toolkit - version 2.3.1
node_modules/copy-webpack-plugin - version 6.0.3
node_modules/@angular-devkit

I am not sure what node modules have copy-webpack-plugin as a dependency and if this version is causing the problem?

If I run a npm outdated below is what I have.

Package                             Current    Wanted    Latest  Location
@angular-devkit/architect          0.803.29  0.803.29  0.1000.6  b
@angular-devkit/build-angular      0.803.29  0.803.29  0.1000.6  b
@angular-devkit/core                 8.3.29    8.3.29    10.0.6  b
@angular-devkit/schematics           8.3.29    8.3.29    10.0.6  b
@angular/cli                         8.3.29    8.3.29    10.0.6  b
@angular/common                      8.2.14    8.2.14   10.0.11  b
@angular/compiler                    8.2.14    8.2.14   10.0.11  b
@angular/compiler-cli                8.2.14    8.2.14   10.0.11  b
@angular/core                        8.2.14    8.2.14   10.0.11  b
@angular/forms                       8.2.14    8.2.14   10.0.11  b
@angular/language-service            8.2.14    8.2.14   10.0.11  b
@angular/platform-browser            8.2.14    8.2.14   10.0.11  b
@angular/platform-browser-dynamic    8.2.14    8.2.14   10.0.11  b
@angular/router                      8.2.14    8.2.14   10.0.11  b
@ionic-native/app-version            5.27.0    5.28.0    5.28.0  b
@ionic-native/ble                    5.27.0    5.28.0    5.28.0  b
@ionic-native/core                   5.27.0    5.28.0    5.28.0  b
@ionic-native/diagnostic             5.27.0    5.28.0    5.28.0  b
@ionic-native/file                   5.27.0    5.28.0    5.28.0  b
@ionic-native/in-app-browser         5.27.0    5.28.0    5.28.0  b
@ionic-native/insomnia               5.27.0    5.28.0    5.28.0  b
@ionic-native/splash-screen          5.27.0    5.28.0    5.28.0  b
@ionic-native/sqlite                 5.27.0    5.28.0    5.28.0  b
@ionic-native/status-bar             5.27.0    5.28.0    5.28.0  b
@ngrx/effects                         8.6.0     8.6.0    10.0.0  b
@ngrx/store                           8.6.0     8.6.0    10.0.0  b
@ngx-translate/core                  11.0.1    11.0.1    13.0.0  b
@ngx-translate/http-loader            4.0.0     4.0.0     6.0.0  b
@types/jasmine                       3.5.11    3.5.12    3.5.12  b
@types/node                        13.13.15  13.13.15    14.6.0  b
codelyzer                             5.2.2     5.2.2     6.0.0  b
cordova-android                       8.1.0     8.1.0     9.0.0  b
cordova-ios                           5.1.1     5.1.1     6.1.0  b
cordova-plugin-inappbrowser           3.2.0     3.2.0     4.0.0  b
cordova-plugin-ionic-webview          4.2.1     4.2.1     5.0.0  b
cordova-plugin-splashscreen           5.0.4     5.0.4     6.0.0  b
cordova-sqlite-storage                4.0.0     4.0.0     5.0.1  b
cordova.plugins.diagnostic            5.0.2     5.0.2     6.0.2  b
eslint                                6.8.0     6.8.0     7.7.0  b
jasmine-spec-reporter                 4.2.1     4.2.1     5.0.2  b
karma                                 4.4.1     4.4.1     5.1.1  b
karma-coverage-istanbul-reporter      2.1.1     2.1.1     3.0.3  b
karma-jasmine                         3.3.1     3.3.1     4.0.1  b
lodash                              4.17.19   4.17.20   4.17.20  b
protractor                            5.4.4     5.4.4     7.0.0  b
rxjs                                  6.6.0     6.6.2     6.6.2  b
tslib                                1.13.0    1.13.0     2.0.1  b
tslint                               5.20.1    5.20.1     6.1.3  b
typescript                            3.5.3     3.9.7     4.0.2  b
zone.js                               0.9.1     0.9.1    0.11.1  b

The solution (workaround) for me was to rollback the @ionic/angular-toolkit to the previous version, seems to be something up with v2.3.1 .

npm i @ionic/angular-toolkit@2.3.0 -E -D

3 Likes

wow I literally had the same issue just a few hours ago. Went to sleep and saw this post. Thanks a lot! you saved my assignment