-
Notifications
You must be signed in to change notification settings - Fork 28.9k
Description
Steps to reproduce
- Set up a new flutter project and enable web
- Write a dockerfile to try and build for web in it (ours posted below)
- Hook it up to a CI runner and have it try to build the docker image
Example Dockerfile:
#######################
## Build Container ##
#######################
FROM fischerscode/flutter:stable AS build
# make sure this matches the ENV APP_DIRECTORY in the deploy container
ENV APP_DIRECTORY=/home/flutter/app
# Set the working directory
RUN mkdir $APP_DIRECTORY && chown flutter:flutter $APP_DIRECTORY
WORKDIR $APP_DIRECTORY
# Copy the code into the container
COPY --chown=flutter:flutter . $APP_DIRECTORY
# must use flutter user from base image
USER flutter
# Ensure a clean start for the build
RUN flutter clean
# Fetch the dependencies
RUN flutter pub get
# Build the release version of the app
RUN flutter build web --no-pub --release --verbose
########################
## Deploy Container ##
########################
# Using nginx web server to serve the built out dart webapp files
FROM nginx:alpine
ENV APP_DIRECTORY=/home/flutter/app
# Copy the build artifacts from the build step
COPY --from=build $APP_DIRECTORY/build/web /usr/share/nginx/html
# Copy the nginx configuration file into a usable directory for Nginx
COPY nginx.conf /etc/nginx/nginx.conf
EXPOSE 8000
CMD ["nginx", "-g", "daemon off;"]
Example Bitbucket Pipelines step:
- step:
name: Put docker image into DO registry
image: alpine/doctl:1.27.13 # comes with doctl, kubectl, and helm
script:
- doctl registry login --expiry-seconds 3600
- export IMAGE_NAME=$IMAGE_TAG_NAME:$BITBUCKET_COMMIT
- docker build -t $IMAGE_NAME $BITBUCKET_CLONE_DIR
- docker push $IMAGE_NAME
services:
- docker
Expected results
When the flutter build web command is run locally, when it gets to the executing: /home/flutter/sdk/bin/cache/dart-sdk/bin/dart ...
steps, it takes about 2 minutes to complete. Sometimes a little more.
When attempting to build the docker image locally, it is noticeably slower, but still completes consistently in around 5 minutes or less.
It would be reasonable to assume the same behaviour when placed into an CI/CD environment.
Actual results
However once run in a CI/CD environment it is astonishingly slow to build. Sometimes (rarely) it will complete as expected, but most of the time it will run until about the 20min mark and fail with the error Target dart2js failed: ProcessException: Process exited abnormally with exit code -9
Logs from the most recent fail are in the logs section below.
It is always the second compilation task that hangs and eventually fails.
I thought it might be an issue with the base container and have tried multiple others including one of my own where I install the flutter SDK myself. Same result every time.
Code sample
Code sample
[Paste your code here]
Screenshots or Video
Screenshots / Video demonstration
[Upload media here]
Logs
Logs
#7 [build 7/7] RUN flutter build web --release --verbose
#7 sha256:0aa857e78c93c50d581467f644efc99e22866dec7f5c0676801ad8fab6b87de0
#7 0.299 [ +19 ms] Unable to locate an Android SDK.
#7 0.302 [ +4 ms] executing: uname -m
#7 0.305 [ +2 ms] Exit code 0 from: uname -m
#7 0.306 [ ] x86_64
#7 0.332 [ +26 ms] Artifact Instance of 'AndroidGenSnapshotArtifacts' is not required, skipping update.
#7 0.332 [ ] Artifact Instance of 'AndroidInternalBuildArtifacts' is not required, skipping update.
#7 0.332 [ ] Artifact Instance of 'IOSEngineArtifacts' is not required, skipping update.
#7 0.333 [ ] Artifact Instance of 'FlutterWebSdk' is not required, skipping update.
#7 0.333 [ ] Artifact Instance of 'LegacyCanvasKitRemover' is not required, skipping update.
#7 0.336 [ +2 ms] Artifact Instance of 'WindowsEngineArtifacts' is not required, skipping update.
#7 0.336 [ ] Artifact Instance of 'MacOSEngineArtifacts' is not required, skipping update.
#7 0.336 [ ] Artifact Instance of 'LinuxEngineArtifacts' is not required, skipping update.
#7 0.337 [ ] Artifact Instance of 'LinuxFuchsiaSDKArtifacts' is not required, skipping update.
#7 0.337 [ ] Artifact Instance of 'MacOSFuchsiaSDKArtifacts' is not required, skipping update.
#7 0.337 [ ] Artifact Instance of 'FlutterRunnerSDKArtifacts' is not required, skipping update.
#7 0.337 [ ] Artifact Instance of 'FlutterRunnerDebugSymbols' is not required, skipping update.
#7 0.391 [ +50 ms] Artifact Instance of 'MaterialFonts' is not required, skipping update.
#7 0.391 [ ] Artifact Instance of 'GradleWrapper' is not required, skipping update.
#7 0.391 [ ] Artifact Instance of 'AndroidGenSnapshotArtifacts' is not required, skipping update.
#7 0.391 [ ] Artifact Instance of 'AndroidInternalBuildArtifacts' is not required, skipping update.
#7 0.391 [ ] Artifact Instance of 'IOSEngineArtifacts' is not required, skipping update.
#7 0.394 [ +5 ms] Downloading Web SDK...
#7 0.535 [ +140 ms] Content https://storage.googleapis.com/flutter_infra_release/flutter/db49896cf25ceabc44096d5f088d86414e05a7aa/flutter-web-sdk.zip md5 hash: 5QTlQmhstSpSyKOuGdiQCQ==
#7 3.503 [+2968 ms] Downloading Web SDK... (completed in 3.1s)
#7 3.505 [ +1 ms] executing: unzip -o -q /home/flutter/sdk/bin/cache/downloads/storage.googleapis.com/flutter_infra_release/flutter/db49896cf25ceabc44096d5f088d86414e05a7aa/flutter-web-sdk.zip -d /home/flutter/sdk/bin/cache/flutter_web_sdk
#7 5.634 [+2128 ms] Exit code 0 from: unzip -o -q /home/flutter/sdk/bin/cache/downloads/storage.googleapis.com/flutter_infra_release/flutter/db49896cf25ceabc44096d5f088d86414e05a7aa/flutter-web-sdk.zip -d /home/flutter/sdk/bin/cache/flutter_web_sdk
#7 5.653 [ +19 ms] Artifact Instance of 'FlutterSdk' is not required, skipping update.
#7 5.653 [ ] Artifact Instance of 'WindowsEngineArtifacts' is not required, skipping update.
#7 5.653 [ ] Artifact Instance of 'MacOSEngineArtifacts' is not required, skipping update.
#7 5.653 [ ] Artifact Instance of 'LinuxEngineArtifacts' is not required, skipping update.
#7 5.653 [ ] Artifact Instance of 'LinuxFuchsiaSDKArtifacts' is not required, skipping update.
#7 5.653 [ ] Artifact Instance of 'MacOSFuchsiaSDKArtifacts' is not required, skipping update.
#7 5.654 [ ] Artifact Instance of 'FlutterRunnerSDKArtifacts' is not required, skipping update.
#7 5.654 [ ] Artifact Instance of 'FlutterRunnerDebugSymbols' is not required, skipping update.
#7 5.654 [ ] Artifact Instance of 'IosUsbArtifacts' is not required, skipping update.
#7 5.654 [ ] Artifact Instance of 'IosUsbArtifacts' is not required, skipping update.
#7 5.654 [ ] Artifact Instance of 'IosUsbArtifacts' is not required, skipping update.
#7 5.654 [ ] Artifact Instance of 'IosUsbArtifacts' is not required, skipping update.
#7 5.654 [ ] Artifact Instance of 'IosUsbArtifacts' is not required, skipping update.
#7 5.654 [ ] Artifact Instance of 'FontSubsetArtifacts' is not required, skipping update.
#7 5.654 [ ] Artifact Instance of 'PubDependencies' is not required, skipping update.
#7 5.716 [ +61 ms] Skipping pub get: version match.
#7 5.826 [ +109 ms] Found plugin path_provider at /home/flutter/.pub-cache/hosted/pub.dev/path_provider-2.1.5/
#7 5.830 [ +4 ms] Found plugin path_provider_android at /home/flutter/.pub-cache/hosted/pub.dev/path_provider_android-2.2.12/
#7 5.832 [ +2 ms] Found plugin path_provider_foundation at /home/flutter/.pub-cache/hosted/pub.dev/path_provider_foundation-2.4.0/
#7 5.834 [ +2 ms] Found plugin path_provider_linux at /home/flutter/.pub-cache/hosted/pub.dev/path_provider_linux-2.2.1/
#7 5.836 [ +2 ms] Found plugin path_provider_windows at /home/flutter/.pub-cache/hosted/pub.dev/path_provider_windows-2.3.0/
#7 5.966 [ +129 ms] Found plugin path_provider at /home/flutter/.pub-cache/hosted/pub.dev/path_provider-2.1.5/
#7 5.967 [ +1 ms] Found plugin path_provider_android at /home/flutter/.pub-cache/hosted/pub.dev/path_provider_android-2.2.12/
#7 5.974 [ +6 ms] Found plugin path_provider_foundation at /home/flutter/.pub-cache/hosted/pub.dev/path_provider_foundation-2.4.0/
#7 5.975 [ +1 ms] Found plugin path_provider_linux at /home/flutter/.pub-cache/hosted/pub.dev/path_provider_linux-2.2.1/
#7 5.977 [ +1 ms] Found plugin path_provider_windows at /home/flutter/.pub-cache/hosted/pub.dev/path_provider_windows-2.3.0/
#7 6.053 [ +76 ms] Found plugin path_provider at /home/flutter/.pub-cache/hosted/pub.dev/path_provider-2.1.5/
#7 6.054 [ +1 ms] Found plugin path_provider_android at /home/flutter/.pub-cache/hosted/pub.dev/path_provider_android-2.2.12/
#7 6.055 [ +1 ms] Found plugin path_provider_foundation at /home/flutter/.pub-cache/hosted/pub.dev/path_provider_foundation-2.4.0/
#7 6.056 [ ] Found plugin path_provider_linux at /home/flutter/.pub-cache/hosted/pub.dev/path_provider_linux-2.2.1/
#7 6.058 [ +1 ms] Found plugin path_provider_windows at /home/flutter/.pub-cache/hosted/pub.dev/path_provider_windows-2.3.0/
#7 6.086 [ +28 ms] Generating /home/flutter/app/android/app/src/main/java/io/flutter/plugins/GeneratedPluginRegistrant.java
#7 6.150 [ +64 ms] Found plugin path_provider at /home/flutter/.pub-cache/hosted/pub.dev/path_provider-2.1.5/
#7 6.151 [ ] Found plugin path_provider_android at /home/flutter/.pub-cache/hosted/pub.dev/path_provider_android-2.2.12/
#7 6.152 [ ] Found plugin path_provider_foundation at /home/flutter/.pub-cache/hosted/pub.dev/path_provider_foundation-2.4.0/
#7 6.152 [ ] Found plugin path_provider_linux at /home/flutter/.pub-cache/hosted/pub.dev/path_provider_linux-2.2.1/
#7 6.154 [ +1 ms] Found plugin path_provider_windows at /home/flutter/.pub-cache/hosted/pub.dev/path_provider_windows-2.3.0/
#7 6.173 [ +19 ms] generated_plugin_registrant.dart not found. Skipping.
#7 6.174 [ +1 ms] Compiling [lib/main.dart](https://bitbucket.org/polarlabsca/pinones-app/src/a0b043722c7dec67117521ef1eb43b6e43394789/lib/main.dart) for the Web...
#7 6.178 [ +3 ms] Initializing file store
#7 6.206 [ +28 ms] web_entrypoint: Starting due to {InvalidatedReasonKind.inputChanged: The following inputs have updated contents: /home/flutter/sdk/packages/flutter_tools/lib/src/build_system/targets/web.dart}
#7 6.207 [ ] Skipping target: gen_localizations
#7 6.209 [ +1 ms] invalidated build due to missing files: /home/flutter/app/web/*/index.html, /home/flutter/app/web/flutter_bootstrap.js
#7 6.209 [ ] web_templated_files: Starting due to {InvalidatedReasonKind.buildKeyChanged: The target build key changed., InvalidatedReasonKind.inputMissing: The following inputs were missing: /home/flutter/app/web/*/index.html,/home/flutter/app/web/flutter_bootstrap.js, InvalidatedReasonKind.inputChanged: The following inputs have updated contents: /home/flutter/sdk/bin/internal/engine.version}
#7 6.210 [ +1 ms] web_static_assets: Starting due to {InvalidatedReasonKind.inputChanged: The following inputs have updated contents: /home/flutter/sdk/bin/internal/engine.version}
#7 6.244 [ +33 ms] web_static_assets: Complete
#7 6.259 [ +13 ms] Warning: In index.html:37: Local variable for "serviceWorkerVersion" is deprecated. Use "{{flutter_service_worker_version}}" template token instead. See https://docs.flutter.dev/platform-integration/web/initialization for more details.
#7 6.259 [ +1 ms] Warning: In index.html:46: "FlutterLoader.loadEntrypoint" is deprecated. Use "FlutterLoader.load" instead. See https://docs.flutter.dev/platform-integration/web/initialization for more details.
#7 6.263 [ +4 ms] web_templated_files: Complete
#7 6.292 [ +29 ms] Found plugin path_provider at /home/flutter/.pub-cache/hosted/pub.dev/path_provider-2.1.5/
#7 6.293 [ ] Found plugin path_provider_android at /home/flutter/.pub-cache/hosted/pub.dev/path_provider_android-2.2.12/
#7 6.294 [ ] Found plugin path_provider_foundation at /home/flutter/.pub-cache/hosted/pub.dev/path_provider_foundation-2.4.0/
#7 6.295 [ ] Found plugin path_provider_linux at /home/flutter/.pub-cache/hosted/pub.dev/path_provider_linux-2.2.1/
#7 6.296 [ +1 ms] Found plugin path_provider_windows at /home/flutter/.pub-cache/hosted/pub.dev/path_provider_windows-2.3.0/
#7 6.318 [ +22 ms] web_entrypoint: Complete
#7 6.319 [ ] dart2js: Starting due to {}
#7 6.323 [ +4 ms] executing: /home/flutter/sdk/bin/cache/dart-sdk/bin/dart --disable-dart-dev /home/flutter/sdk/bin/cache/dart-sdk/bin/snapshots/dart2js.dart.snapshot --platform-binaries=/home/flutter/sdk/bin/cache/flutter_web_sdk/kernel --invoker=flutter_tool -Ddart.vm.product=true -DFLUTTER_WEB_AUTO_DETECT=false -DFLUTTER_WEB_USE_SKIA=true -DFLUTTER_WEB_CANVASKIT_URL=https://www.gstatic.com/flutter-canvaskit/db49896cf25ceabc44096d5f088d86414e05a7aa/ --native-null-assertions --no-source-maps -o /home/flutter/app/.dart_tool/flutter_build/92612a589e9112770d9cb63dc07cd59d/app.dill --packages=.dart_tool/package_config.json --cfe-only /home/flutter/app/.dart_tool/flutter_build/92612a589e9112770d9cb63dc07cd59d/main.dart
#7 32.94 [+26614 ms] Compiled 49,774,772 input bytes (41,258,382 characters source) to 37,810,784 kernel bytes in 26.1 seconds using 734.734 MB of memory
#7 32.94 Dart file .dart_tool/flutter_build/92612a589e9112770d9cb63dc07cd59d/main.dart compiled to dill: .dart_tool/flutter_build/92612a589e9112770d9cb63dc07cd59d/app.dill.
#7 32.94 [ +1 ms] executing: /home/flutter/sdk/bin/cache/dart-sdk/bin/dart --disable-dart-dev /home/flutter/sdk/bin/cache/dart-sdk/bin/snapshots/dart2js.dart.snapshot --platform-binaries=/home/flutter/sdk/bin/cache/flutter_web_sdk/kernel --invoker=flutter_tool -Ddart.vm.product=true -DFLUTTER_WEB_AUTO_DETECT=false -DFLUTTER_WEB_USE_SKIA=true -DFLUTTER_WEB_CANVASKIT_URL=https://www.gstatic.com/flutter-canvaskit/db49896cf25ceabc44096d5f088d86414e05a7aa/ --native-null-assertions --no-source-maps -O4 -o /home/flutter/app/.dart_tool/flutter_build/92612a589e9112770d9cb63dc07cd59d/main.dart.js /home/flutter/app/.dart_tool/flutter_build/92612a589e9112770d9cb63dc07cd59d/app.dill
#7 1165.3 [+1132374 ms] Persisting file store
#7 1165.3 [ +3 ms] Done persisting file store
#7 1165.3 [ +5 ms] Target dart2js failed: ProcessException: Process exited abnormally with exit code -9:
#7 1165.3
#7 1165.3 Command: /home/flutter/sdk/bin/cache/dart-sdk/bin/dart --disable-dart-dev /home/flutter/sdk/bin/cache/dart-sdk/bin/snapshots/dart2js.dart.snapshot --platform-binaries=/home/flutter/sdk/bin/cache/flutter_web_sdk/kernel --invoker=flutter_tool -Ddart.vm.product=true -DFLUTTER_WEB_AUTO_DETECT=false -DFLUTTER_WEB_USE_SKIA=true -DFLUTTER_WEB_CANVASKIT_URL=https://www.gstatic.com/flutter-canvaskit/db49896cf25ceabc44096d5f088d86414e05a7aa/ --native-null-assertions --no-source-maps -O4 -o /home/flutter/app/.dart_tool/flutter_build/92612a589e9112770d9cb63dc07cd59d/main.dart.js /home/flutter/app/.dart_tool/flutter_build/92612a589e9112770d9cb63dc07cd59d/app.dill
#7 1165.3 #0 RunResult.throwException (package:flutter_tools/src/base/process.dart:122:5)
#7 1165.3 #1 _DefaultProcessUtils.run (package:flutter_tools/src/base/process.dart:370:19)
#7 1165.3 <asynchronous suspension>
#7 1165.3 #2 Dart2JSTarget.build (package:flutter_tools/src/build_system/targets/web.dart:207:5)
#7 1165.3 <asynchronous suspension>
#7 1165.3 #3 _BuildInstance._invokeInternal (package:flutter_tools/src/build_system/build_system.dart:875:9)
#7 1165.3 <asynchronous suspension>
#7 1165.3 #4 Future.wait.<anonymous closure> (dart:async/future.dart:534:21)
#7 1165.3 <asynchronous suspension>
#7 1165.3 #5 _BuildInstance.invokeTarget (package:flutter_tools/src/build_system/build_system.dart:813:32)
#7 1165.3 <asynchronous suspension>
#7 1165.3 #6 Future.wait.<anonymous closure> (dart:async/future.dart:534:21)
#7 1165.3 <asynchronous suspension>
#7 1165.3 #7 _BuildInstance.invokeTarget (package:flutter_tools/src/build_system/build_system.dart:813:32)
#7 1165.3 <asynchronous suspension>
#7 1165.3 #8 FlutterBuildSystem.build (package:flutter_tools/src/build_system/build_system.dart:635:16)
#7 1165.3 <asynchronous suspension>
#7 1165.3 #9 WebBuilder.buildWeb (package:flutter_tools/src/web/compile.dart:92:34)
#7 1165.3 <asynchronous suspension>
#7 1165.3 #10 BuildWebCommand.runCommand (package:flutter_tools/src/commands/build_web.dart:230:5)
#7 1165.3 <asynchronous suspension>
#7 1165.3 #11 FlutterCommand.run.<anonymous closure> (package:flutter_tools/src/runner/flutter_command.dart:1408:27)
#7 1165.3 <asynchronous suspension>
#7 1165.3 #12 AppContext.run.<anonymous closure> (package:flutter_tools/src/base/context.dart:153:19)
#7 1165.3 <asynchronous suspension>
#7 1165.3 #13 CommandRunner.runCommand (package:args/command_runner.dart:212:13)
#7 1165.3 <asynchronous suspension>
#7 1165.3 #14 FlutterCommandRunner.runCommand.<anonymous closure> (package:flutter_tools/src/runner/flutter_command_runner.dart:420:9)
#7 1165.3 <asynchronous suspension>
#7 1165.3 #15 AppContext.run.<anonymous closure> (package:flutter_tools/src/base/context.dart:153:19)
#7 1165.3 <asynchronous suspension>
#7 1165.3 #16 FlutterCommandRunner.runCommand (package:flutter_tools/src/runner/flutter_command_runner.dart:364:5)
#7 1165.3 <asynchronous suspension>
#7 1165.3 #17 run.<anonymous closure>.<anonymous closure> (package:flutter_tools/runner.dart:130:9)
#7 1165.3 <asynchronous suspension>
#7 1165.3 #18 AppContext.run.<anonymous closure> (package:flutter_tools/src/base/context.dart:153:19)
#7 1165.3 <asynchronous suspension>
#7 1165.3 #19 main (package:flutter_tools/executable.dart:93:3)
#7 1165.3 <asynchronous suspension>
#7 1165.3
#7 1165.3 [ +1 ms] Compiling [lib/main.dart](https://bitbucket.org/polarlabsca/pinones-app/src/a0b043722c7dec67117521ef1eb43b6e43394789/lib/main.dart) for the Web... (completed in 1159.1s)
#7 1165.3 [ ] "flutter web" took 1,165,006ms.
#7 1165.3 [ +4 ms] Error: Failed to compile application for the Web.
#7 1165.3 [ ]
#7 1165.3 #0 throwToolExit (package:flutter_tools/src/base/common.dart:10:3)
#7 1165.3 #1 WebBuilder.buildWeb (package:flutter_tools/src/web/compile.dart:129:7)
#7 1165.3 <asynchronous suspension>
#7 1165.3 #2 BuildWebCommand.runCommand (package:flutter_tools/src/commands/build_web.dart:230:5)
#7 1165.3 <asynchronous suspension>
#7 1165.3 #3 FlutterCommand.run.<anonymous closure> (package:flutter_tools/src/runner/flutter_command.dart:1408:27)
#7 1165.3 <asynchronous suspension>
#7 1165.3 #4 AppContext.run.<anonymous closure> (package:flutter_tools/src/base/context.dart:153:19)
#7 1165.3 <asynchronous suspension>
#7 1165.3 #5 CommandRunner.runCommand (package:args/command_runner.dart:212:13)
#7 1165.3 <asynchronous suspension>
#7 1165.3 #6 FlutterCommandRunner.runCommand.<anonymous closure> (package:flutter_tools/src/runner/flutter_command_runner.dart:420:9)
#7 1165.3 <asynchronous suspension>
#7 1165.3 #7 AppContext.run.<anonymous closure> (package:flutter_tools/src/base/context.dart:153:19)
#7 1165.3 <asynchronous suspension>
#7 1165.3 #8 FlutterCommandRunner.runCommand (package:flutter_tools/src/runner/flutter_command_runner.dart:364:5)
#7 1165.3 <asynchronous suspension>
#7 1165.3 #9 run.<anonymous closure>.<anonymous closure> (package:flutter_tools/runner.dart:130:9)
#7 1165.3 <asynchronous suspension>
#7 1165.3 #10 AppContext.run.<anonymous closure> (package:flutter_tools/src/base/context.dart:153:19)
#7 1165.3 <asynchronous suspension>
#7 1165.3 #11 main (package:flutter_tools/executable.dart:93:3)
#7 1165.3 <asynchronous suspension>
#7 1165.3
#7 1165.3
#7 1165.3 [ +1 ms] Running 1 shutdown hook
#7 1165.3 [ ] Shutdown hooks complete
#7 1165.3 [ ] exiting with code 1
#7 ERROR: process "/bin/sh -c flutter build web --release --verbose" did not complete successfully: exit code: 1
------
> [build 7/7] RUN flutter build web --release --verbose:
------
process "/bin/sh -c flutter build web --release --verbose" did not complete successfully: exit code: 1
Flutter Doctor output
Doctor output
I don't have the doctor output from the public base container I linked, but here is the output from my custom container where I install flutter from the git repo:
#11 [8/8] RUN flutter doctor -v
#11 sha256:e76d3f9c3fae78f5af74e3e8824fa611e2fc9a81081ab2ad099b778a0cb6a97c
#11 0.471 Downloading Material fonts... 340ms
#11 0.895 Downloading Gradle Wrapper... 10ms
#11 0.922 Downloading package sky_engine... 91ms
#11 1.086 Downloading package flutter_gpu... 9ms
#11 1.110 Downloading flutter_patched_sdk tools... 216ms
#11 1.431 Downloading flutter_patched_sdk_product tools... 177ms
#11 1.713 Downloading linux-x64 tools... 1,478ms
#11 4.018 Downloading linux-x64/font-subset tools... 81ms
#11 4.294 [!] Flutter (Channel [user-branch], 3.24.4, on Debian GNU/Linux 12 (bookworm) 5.15.0-1071-aws, locale en_US)
#11 4.294 ! Flutter version 3.24.4 on channel [user-branch] at /home/flutter/sdk
#11 4.294 Currently on an unknown channel. Run `flutter channel` to switch to an official channel.
#11 4.294 If that doesn't fix the issue, reinstall Flutter by following instructions at https://flutter.dev/setup.
#11 4.294 ! Upstream repository unknown source is not the same as FLUTTER_GIT_URL
#11 4.294 • FLUTTER_GIT_URL = https://github.com/flutter/flutter.git
#11 4.294 • Framework revision 603104015d (11 days ago), 2024-10-24 08:01:25 -0700
#11 4.294 • Engine revision db49896cf2
#11 4.295 • Dart version 3.5.4
#11 4.295 • DevTools version 2.37.3
#11 4.295 • If those were intentional, you can disregard the above warnings; however it is recommended to use "git" directly to perform update checks and upgrades.
#11 4.295
#11 4.297 [✗] Android toolchain - develop for Android devices
#11 4.297 ✗ Unable to locate Android SDK.
#11 4.297 Install Android Studio from: https://developer.android.com/studio/index.html
#11 4.297 On first launch it will assist you in installing the Android SDK components.
#11 4.298 (or visit https://flutter.dev/to/linux-android-setup for detailed instructions).
#11 4.298 If the Android SDK has been installed to a custom location, please use
#11 4.298 `flutter config --android-sdk` to update to that location.
#11 4.298
#11 4.298
#11 4.298 [✗] Chrome - develop for the web (Cannot find Chrome executable at google-chrome)
#11 4.298 ! Cannot find Chrome. Try setting CHROME_EXECUTABLE to a Chrome executable.
#11 4.298
#11 4.299 [✗] Linux toolchain - develop for Linux desktop
#11 4.299 ✗ clang++ is required for Linux development.
#11 4.299 It is likely available from your distribution (e.g.: apt install clang), or can be downloaded from https://releases.llvm.org/
#11 4.299 ✗ CMake is required for Linux development.
#11 4.299 It is likely available from your distribution (e.g.: apt install cmake), or can be downloaded from https://cmake.org/download/
#11 4.299 ✗ ninja is required for Linux development.
#11 4.299 It is likely available from your distribution (e.g.: apt install ninja-build), or can be downloaded from https://github.com/ninja-build/ninja/releases
#11 4.300 ✗ pkg-config is required for Linux development.
#11 4.300 It is likely available from your distribution (e.g.: apt install pkg-config), or can be downloaded from https://www.freedesktop.org/wiki/Software/pkg-config/
#11 4.300
#11 4.300 [!] Android Studio (not installed)
#11 4.300 • Android Studio not found; download from https://developer.android.com/studio/index.html
#11 4.300 (or visit https://flutter.dev/to/linux-android-setup for detailed instructions).
#11 4.300
#11 4.303 [✓] Connected device (1 available)
#11 4.303 • Linux (desktop) • linux • linux-x64 • Debian GNU/Linux 12 (bookworm) 5.15.0-1071-aws
#11 4.303
#11 4.358 [✓] Network resources
#11 4.358 • All expected network resources are available.
#11 4.358
#11 4.359 ! Doctor found issues in 5 categories.