簡體   English   中英

從 ionic 4 更新到 5 ionic cordova android livereload 錯誤-復制插件

[英]Updated from ionic 4 to 5 ionic cordova android livereload error - Copy Plugin

我正在嘗試將我的 angular ionic 4 應用程序更新為 ionic 5。我使用了以下鏈接:

https://ionicframework.com/docs/reference/migration

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

嘗試進行 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.

然后我跑了 ionic doctor 看看是否有任何問題。 沒有。

有趣的是,我可以成功構建一個.apk 並使用ionic cordova build android --prod --release運行它

即使在成功構建之后 livereload 命令仍然失敗並出現相同的錯誤。

ionic cordova run android -l

該錯誤確實指向日志文件以獲取更多信息。 這是我發現的:

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

它指向許多 node_modules:

node_modules/copy-webpack-plugin - version - 6.0.3
node_modules/@ionic/angular-toolkit
node_modules/@angular-devkit

我的離子信息是:

   Ionic CLI                     : 6.11.0 (/Users/b/.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

如果我做一個過時的 npm 我會看到以下內容:

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

更新:然后我創建了一個全新的基於 angular 的 Ionic 5 項目。

然后我使用以下命令添加了 cordova android 平台:

ionic cordova platform add android

我運行以下命令來進行 livereload:

ionic cordova run android -l

仍然看到錯誤。

我創建了一個倉庫 https://github.com/ASHBAW/test_livereload

還有人看到這個嗎?

回購在您的系統上工作嗎?

任何幫助將不勝感激。

謝謝

對我來說,解決方案(解決方法)是將@ionic/angular-toolkit回滾到以前的版本,似乎與v2.3.1

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

更新

新版本的@ionic/angular-toolkit似乎解決了這個問題,嘗試安裝最新版本:

npm i @ionic/angular-toolkit@latest -D

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM