Ошибка: библиотека не может отказаться от нулевой безопасности по умолчанию при использовании нулевой безопасности звука

При обновлении пакета Flutter для нулевой безопасности я получил эту ошибку при запуске flutter test:

Error: A library can't opt out of null safety by default, when using sound null safety.
// @dart = 2.8
^^^^^^^^^^^^^^
Failed to load "/Users/xxxxx/test/text_test.dart":
  Compilation failed

Ответ был тут же, но я все еще был сбит с толку, поэтому добавляю свой ответ ниже.

2 ответа

Проблема также возникает, когда у вас есть код смешанной версии, то есть код не полностью перенесен для обеспечения нулевой безопасности. Чтобы запустить приложение:

  1. Использование IDE

    Добавлять // @dart=2.9 наверху в твоем main.dart файл и запустите приложение с помощью значка Воспроизвести ►.

            // @dart=2.9
    import 'package:flutter/material.dart';
    
    void main() {
      //...
    }
    
  2. Используя командную строку

            flutter run --no-sound-null-safety
    

    или, чтобы быть конкретным (скажем, в хроме)

            flutter run -d chrome --no-sound-null-safety
    

Чтобы решить вашу проблему, удалите следующую строку из text_test.dart:

// @dart = 2.8

Это примечание для выбирают из безопасности звука нулевой (см это и это). Однако библиотекам (пакетам) не разрешается это делать, если они хотят быть нулевыми.

Другие вопросы по тегам