离子包构建失败 - 离子角度工具包

Posted

技术标签:

【中文标题】离子包构建失败 - 离子角度工具包【英文标题】:Ionic package build failed - ionic angular toolkit 【发布时间】:2021-01-19 05:32:47 【问题描述】:

即使在多次尝试从头开始清理系统后仍会出现构建错误。

问题:检测根源问题并解决问题的最佳程序是什么。

构建命令

ionic cordova build android 错误

ng.cmd 运行 app:ionic-cordova-build --platform=android 发生未处理的异常:找不到实现 builder @ionic/angular-toolkit:cordova-build 见 “C:\Users\username\AppData\Local\Temp\ng-DhZAYC\angular-errors.log” 更多详细信息。 [ERROR] 运行子进程时发生错误 哦。

    ng.cmd run app:ionic-cordova-build --platform=android exited with exit code 127.

    Re-running this command with the --verbose flag may provide more information.

详细

系统信息

离子:

离子 CLI:6.11.10 (C:\Users\username\AppData\Roaming\npm\node_modules@ionic\cli) 离子 框架:@ionic/angular 4.11.13 @angular-devkit/build-angular:0.1001.4 @angular-devkit/schematics : 10.1.4 @angular/cli : 11.0.0-next.4 @ionic/angular-toolkit:1.5.1

科尔多瓦:

Cordova CLI:10.0.0 Cordova 平台:6.0.0,android 9.0.0,浏览器,ios 5.1.1 Cordova 插件:cordova-plugin-ionic-keyboard 2.2.0,cordova-plugin-ionic-webview 3.1.2,(和其他 22 个插件)

实用程序:

cordova-res : 0.15.1 本机运行(更新 可用:1.2.1):0.2.9

系统:

Android SDK 工具:26.1.1 (C:\Users\username\AppData\Local\Android\Sdk) NodeJS: v12.10.0 (C:\Program Files\nodejs\node.exe) npm: 6.13.7 操作系统:Windows 10

package.json

   "name": "myapp",   "version": "0.0.30",   "author": "",   "homepage": "",   "scripts": 
    "ng": "ng",
    "start": "ng serve",
    "build": "ng build",
    "test": "ng test",
    "lint": "ng lint",
    "e2e": "ng e2e",
    "ionic:build-obsolet": "ionic-app-scripts build android --release --prod  --wwwDir www --buildDir build"   ,   "private": true,   "dependencies": 
    "@angular-devkit/build-angular": "^0.1001.4",
    "@angular/common": "^11.0.0-next.4",
    "@angular/core": "^11.0.0-next.4",
    "@angular/fire": "^5.1.3",
    "@angular/forms": "^11.0.0-next.4",
    "@angular/http": "^7.2.2",
    "@angular/platform-browser": "^11.0.0-next.4",
    "@angular/platform-browser-dynamic": "^11.0.0-next.4",
    "@angular/router": "^11.0.0-next.4",
    "@ionic-native/android-permissions": "^5.11.0",
    "@ionic-native/app-version": "^5.9.0",
    "@ionic-native/calendar": "^5.9.0",
    "@ionic-native/camera": "^5.23.0",
    "@ionic-native/core": "^5.21.0",
    "@ionic-native/device": "^5.11.0",
    "@ionic-native/email-composer": "^5.15.1",
    "@ionic-native/fcm": "^5.15.1",
    "@ionic-native/firebase": "^5.5.1",
    "@ionic-native/firebase-x": "^5.24.0",
    "@ionic-native/http": "^5.24.0",
    "@ionic-native/image-picker": "^5.9.0",
    "@ionic-native/in-app-browser": "^5.13.0",
    "@ionic-native/is-debug": "^5.23.0",
    "@ionic-native/keyboard": "^5.9.0",
    "@ionic-native/native-storage": "^5.10.0",
    "@ionic-native/network": "^5.11.0",
    "@ionic-native/open-native-settings": "^5.8.0",
    "@ionic-native/qr-scanner": "^5.6.1",
    "@ionic-native/screenshot": "^5.9.0",
    "@ionic-native/social-sharing": "^5.9.0",
    "@ionic-native/splash-screen": "^5.0.0",
    "@ionic-native/status-bar": "^5.0.0",
    "@ionic/angular": "^4.5.0",
    "@ionic/storage": "^2.2.0",
    "@types/chart.js": "^2.8.5",
    "@types/cordova": "0.0.34",
    "ajv": "^6.10.0",
    "angularfire2": "^5.1.3",
    "animejs": "^3.0.1",
    "calendar-utils": "^0.3.1",
    "chart.js": "^2.8.0",
    "com.darktalker.cordova.screenshot": "^0.1.6",
    "cordova-android": "^9.0.0",
    "cordova-browser": "^6.0.0",
    "cordova-ios": "^5.1.1",
    "cordova-open-native-settings": "^1.5.2",
    "cordova-plugin-add-swift-support": "^2.0.2",
    "cordova-plugin-advanced-http": "^2.2.0",
    "cordova-plugin-android-permissions": "^1.0.2",
    "cordova-plugin-androidx": "^1.0.2",
    "cordova-plugin-androidx-adapter": "^1.1.0",
    "cordova-plugin-app-version": "^0.1.9",
    "cordova-plugin-calendar": "^5.1.4",
    "cordova-plugin-camera": "^4.1.0",
    "cordova-plugin-device": "^2.0.2",
    "cordova-plugin-email-composer": "^0.9.2",
    "cordova-plugin-file": "^6.0.2",
    "cordova-plugin-firebasex": "^7.0.0",
    "cordova-plugin-inappbrowser": "^3.1.0",
    "cordova-plugin-ionic-keyboard": "^2.1.3",
    "cordova-plugin-ionic-webview": "^3.1.2",
    "cordova-plugin-is-debug": "^1.0.0",
    "cordova-plugin-qrscanner": "^3.0.1",
    "cordova-plugin-safariviewcontroller": "^1.6.0",
    "cordova-plugin-splashscreen": "^5.0.2",
    "cordova-plugin-statusbar": "^2.4.2",
    "cordova-plugin-telerik-imagepicker": "^2.3.2",
    "cordova-plugin-whitelist": "^1.3.3",
    "cordova-plugin-x-socialsharing": "^5.4.7",
    "cordova-res": "^0.15.1",
    "cordova-sqlite-storage": "^3.2.1",
    "core-js": "^2.5.4",
    "errorhandler": "^1.5.1",
    "es6-promise-plugin": "^4.2.2",
    "firebase": "^7.22.0",
    "firebase-admin": "^9.2.0",
    "g": "^2.0.1",
    "guid-typescript": "^1.0.9",
    "ionic2-calendar": "^0.5.7",
    "lab": "18.0.2",
    "native-run": "^0.2.7",
    "rxjs": "^6.5.3",
    "signal-exit": "^3.0.2",
    "web": "0.0.2",
    "xcode": "^2.0.0",
    "zone.js": "~0.10.3"   ,   "devDependencies": 
    "@angular-devkit/architect": "^0.1001.4",
    "@angular-devkit/core": "^10.1.4",
    "@angular-devkit/schematics": "^10.1.4",
    "@angular/cli": "11.0.0-next.4",
    "@angular/compiler": "~11.0.0-next.4",
    "@angular/compiler-cli": "~11.0.0-next.4",
    "@angular/language-service": "~11.0.0-next.4",
    "@ionic/angular-toolkit": "^1.4.1",
    "@ionic/lab": "^3.2.9",
    "@types/jasmine": "~2.8.8",
    "@types/jasminewd2": "~2.0.3",
    "@types/node": "~10.12.0",
    "codelyzer": "~4.5.0",
    "jasmine-core": "~2.99.1",
    "jasmine-spec-reporter": "~4.2.1",
    "karma": "~5.2.3",
    "karma-chrome-launcher": "~2.2.0",
    "karma-coverage-istanbul-reporter": "~2.0.1",
    "karma-jasmine": "~1.1.2",
    "karma-jasmine-html-reporter": "^0.2.2",
    "node-sass": "^4.12.0",
    "protractor": "~7.0.0",
    "ts-node": "~8.0.0",
    "tslint": "~6.1.3",
    "typescript": "^4.0.3"   ,   "description": "An Ionic project",   "cordova": 
    "plugins": 
      "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": ,
      "cordova-plugin-qrscanner": ,
      "cordova-open-native-settings": ,
      "cordova-sqlite-storage": ,
      "cordova-plugin-telerik-imagepicker": 
        "PHOTO_LIBRARY_USAGE_DESCRIPTION": " edit user profile "
      ,
      "cordova-plugin-calendar": 
        "CALENDAR_USAGE_DESCRIPTION": " add party event to calendar ",
        "CONTACTS_USAGE_DESCRIPTION": " add contact to user "
      ,
      "cordova-plugin-app-version": ,
      "com.darktalker.cordova.screenshot": ,
      "cordova-plugin-x-socialsharing": 
        "ANDROID_SUPPORT_V4_VERSION": "24.1.1+"
      ,
      "cordova-plugin-safariviewcontroller": ,
      "cordova-plugin-inappbrowser": ,
      "cordova-plugin-advanced-http": 
        "OKHTTP_VERSION": "3.10.0"
      ,
      "cordova-plugin-email-composer": 
        "ANDROID_SUPPORT_V4_VERSION": "27.+"
      ,
      "cordova-plugin-android-permissions": ,
      "cordova-plugin-firebasex": 
        "ANDROID_FIREBASE_ANALYTICS_VERSION": "17.0.0",
        "FIREBASE_ANALYTICS_COLLECTION_ENABLED": "true",
        "FIREBASE_PERFORMANCE_COLLECTION_ENABLED": "true",
        "FIREBASE_CRASHLYTICS_COLLECTION_ENABLED": "true",
        "ANDROID_ICON_ACCENT": "#FF00FFFF",
        "ANDROID_PLAY_SERVICES_TAGMANAGER_VERSION": "17.0.0",
        "ANDROID_FIREBASE_MESSAGING_VERSION": "20.0.0",
        "ANDROID_FIREBASE_CONFIG_VERSION": "19.0.3",
        "ANDROID_FIREBASE_PERF_VERSION": "19.0.1",
        "ANDROID_FIREBASE_AUTH_VERSION": "19.1.0",
        "ANDROID_CRASHLYTICS_VERSION": "2.10.1",
        "ANDROID_CRASHLYTICS_NDK_VERSION": "2.1.1"
      ,
      "cordova-plugin-camera": 
        "ANDROID_SUPPORT_V4_VERSION": "27.+"
      ,
      "cordova-plugin-is-debug": 
    ,
    "platforms": [
      "browser",
      "android",
      "ios"
    ]    

我尝试了什么 没有成功。 手动删除 node_modules(然后是npm i),重新启动系统并使用以下命令...

ionic repair
npm i @angular-devkit/architect@latest @angular-devkit/build-angular@latest @angular-devkit/core@latest @angular-devkit/schematics@latest

npm uninstall -g @angular/cli
npm cache verify
npm install -g @angular/cli@latest
npm install

npm i @ionic/angular-toolkit

npm audit fix
npm audit fix --force


npm update
ng update
ng update @angular/cli
ng update @angular/core

Ionic Serveionic serve 上的其他错误信息:

[ng] Schema validation failed with the following errors:
[ng]   Data path "" should NOT have additional properties(es5BrowserSupport).

[ERROR] ng has unexpectedly closed (exit code 1).

        The Ionic CLI will exit. Please check any output above for error details.

【问题讨论】:

【参考方案1】:

您可能需要将您的@angular-devkit/build-angular@angular-devkit/architect 或两者都升级到版本^0.11(在npmjs.com 中检查它们各自的npm 包中的版本),因为^0.11@angular/cli 的第11 版一起使用

【讨论】:

【参考方案2】:

属性 es5BrowserSupport 已被弃用并已被删除。 ES5 polyfills 的包含将根据 browserslist 配置中列出的浏览器来确定。

【讨论】:

【参考方案3】:

根据以下错误;

[ng] Schema validation failed with the following errors:
[ng]   Data path "" should NOT have additional properties(es5BrowserSupport).

您应该编辑angular.json 文件并找到"es5BrowserSupport": true | false 并将其删除。


es5BrowserSupport 选项是一个已弃用的选项,它控制 ES5 目标构建是否会为旧版浏览器包含单独的条件加载 polyfill。它是完全差分加载支持的前身,已被删除。

重大变化 已删除弃用的浏览器构建器选项 es5BrowserSupport。 ES5 polyfills 的包含将根据 browserslist 配置中列出的浏览器来确定。

https://github.com/angular/angular-cli/pull/17484

【讨论】:

你好。此问题已自动关闭。在电晕的情况下,我无法及时回答。删除es5BrowserSupport 后并没有解决问题。当前错误:Schema validation failed with the following errors: Data path ".builders['app-shell']" should have required property 'class'. [ERROR] An error occurred while running subprocess ng.

以上是关于离子包构建失败 - 离子角度工具包的主要内容,如果未能解决你的问题,请参考以下文章

尝试离子构建时出现角度firebase构建错误

离子构建失败:失败:构建失败并出现异常

离子构建失败 CompileAssetCatalog

离子发布:Android 包无法构建

在离子2处失败'离子cordova运行android'

离子项目构建错误