25

When upgrading a Flutter package for null safety I got this error when running 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 

The answer was right there but I was still confused for a while, so I'm adding my answer below.

2 Answers 2

37

The problem also occurs when you have a mixed-version code i.e. the code is not fully migrated to sound null safety. To run the app:

  1. Using IDE

    Add // @dart=2.9 at the top in your main.dart file and run the app using the Play ► icon.

    // @dart=2.9 import 'package:flutter/material.dart'; void main() { //... } 
  2. Using command line

    flutter run --no-sound-null-safety 

    or to be specific (say in chrome)

    flutter run -d chrome --no-sound-null-safety 
Sign up to request clarification or add additional context in comments.

1 Comment

I'm changing the selected answer to this one because of popular vote.
8

To solve your problem, remove the following line from text_test.dart:

// @dart = 2.8 

This annotation is for opting out of sound null safety (see this and this). However, libraries (packages) are not allowed to do that if they want to be sound null safe.

Comments

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.