flutter web: статические тематические данные (контекст BuildContext) не совпадают

#flutter #flutter-web

#flutter #flutter-web

Вопрос:

У меня был проект flutter. Я добавил веб-поддержку в свой проект.Все было хорошо, пока я не обновил flutter sdk.Я использую master sdk.

Теперь, когда я пытаюсь запустить свое приложение, я получаю эту ошибку:

 $ flutter run -d chrome
Warning: You are using these overridden dependencies:                   
! analyzer 0.39.16                                                      
Running "flutter pub get" in myapp_web2...            1,098ms
Launching lib/main.dart on Chrome in debug mode...
/home/alt/.pub-cache/git/persianDatePicker-b20d15502d6cae5c5bc9b4219789e16b15debb26/lib/widget/dialog.dart:725
:45: Error: No named parameter with the name 'shadowThemeOnly'.
  final ThemeData theme = Theme.of(context, shadowThemeOnly: true);     
                                            ^^^^^^^^^^^^^^^             
../../../../../Software/Linux/Flutter/flutter/packages/flutter/lib/src/material/theme.dart:119:20: Context:
Found this candidate, but the arguments don't match.
  static ThemeData of(BuildContext context) {                           
                   ^^                                                   
Syncing files to device Chrome...                                  36.0s
Failed to compile application.
  

Это flutter doctor:

 $ flutter doctor
Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel master, 1.24.0-7.0.pre.58, on Linux, locale en_US.UTF-8)
[✓] Android toolchain - develop for Android devices (Android SDK version 29.0.3)
[✓] Chrome - develop for the web
[✓] Android Studio (version 4.0)
[✓] VS Code (version 1.50.1)
[✓] Connected device (2 available)
  

Я также запускаю flutter clean и flutter pub get , но я все еще получаю эту ошибку.

 $ flutter devices
2 connected devices:

Web Server (web) • web-server • web-javascript • Flutter Tools
Chrome (web)     • chrome     • web-javascript • Google Chrome 86.0.4240.111
  

Комментарии:

1. Согласно странице настройки Flutter Web, рекомендуется использовать channel для Flutter web beta . master Канал тоже не рекомендуется — попробуйте stable канал. Это выводится здесь .

2. Я изменил sdk на бета-версию, но я получил эту ошибку paste.ubuntu.com/p/S7QdN8z7qq @Обезображенный

3. Я получаю эту проблему в flutter mobile после запуска flutter upgrade . Я на главном канале.

4. Я полностью удалил dependency_overrides: analyzer: x.x.x, и проблема исчезла

Ответ №1:

Переключитесь обратно на стабильную версию, это был единственный способ, которым я смог решить эту flutter channel stable flutter upgrade проблему, а затем запустить flutter run