gpt4 book ai didi

android - 从 ionic 4 更新到 5 ionic cordova android livereload 错误 - 复制插件

转载 作者:行者123 更新时间:2023-12-04 01:15:29 25 4
gpt4 key购买 nike

我正在尝试将我的 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 构建 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 信息是:

   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

还有其他人看到了吗?

该 repo 协议(protocol)是否适用于您的系统?

如有任何帮助,我们将不胜感激。

谢谢

最佳答案

我的解决方案(解决方法)是将 @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

关于android - 从 ionic 4 更新到 5 ionic cordova android livereload 错误 - 复制插件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63510122/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com