0

I am trying to migrate one of my project to null-safety following this guide and this video, but I'm stuck somewhere between upgrading my dependencies and seeing the migration suggestions in the web interface. I managed to upgrade my project from Flutter 1 to Flutter 2, to update all dependencies to their null-safe versions, except for build_runner as a dev dependency but apparently we can ignore that. And now, when I run dart migrate, this is what I get in the terminal:

Analyzing project...
[---------------------------------------------------------------------------------------------------------------------------------------------------------------\]
23 analysis issues found:
  error • The named parameter 'email' isn't defined at lib/screens/email_screen.dart:38:11 • (undefined_named_parameter)
  error • The named parameter 'password' isn't defined at lib/screens/email_screen.dart:39:11 • (undefined_named_parameter)
  error • The named parameter 'errorText' isn't defined at lib/screens/email_screen.dart:124:29 • (undefined_named_parameter)
  error • The named parameter 'errorText' isn't defined at lib/screens/email_screen.dart:128:29 • (undefined_named_parameter)
  error • The named parameter 'errorText' isn't defined at lib/screens/first_name_screen.dart:112:27 • (undefined_named_parameter)
  error • The named parameter 'data' isn't defined at lib/screens/onboarding_screen.dart:47:17 • (undefined_named_parameter)
  error • The named parameter 'styleSheet' isn't defined at lib/screens/onboarding_screen.dart:49:17 • (undefined_named_parameter)
  error • The named parameter 'onTapLink' isn't defined at lib/screens/onboarding_screen.dart:59:17 • (undefined_named_parameter)
  error • The named parameter 'verificationId' isn't defined at lib/screens/phone_code_screen.dart:77:9 • (undefined_named_parameter)
  error • The named parameter 'smsCode' isn't defined at lib/screens/phone_code_screen.dart:78:9 • (undefined_named_parameter)
  error • The named parameter 'phoneNumber' isn't defined at lib/screens/phone_code_screen.dart:149:7 • (undefined_named_parameter)
  error • The named parameter 'verificationCompleted' isn't defined at lib/screens/phone_code_screen.dart:150:7 • (undefined_named_parameter)
  error • The named parameter 'verificationFailed' isn't defined at lib/screens/phone_code_screen.dart:156:7 • (undefined_named_parameter)
  error • The named parameter 'codeSent' isn't defined at lib/screens/phone_code_screen.dart:159:7 • (undefined_named_parameter)
  error • The named parameter 'codeAutoRetrievalTimeout' isn't defined at lib/screens/phone_code_screen.dart:166:7 • (undefined_named_parameter)
  error • The named parameter 'forceResendingToken' isn't defined at lib/screens/phone_code_screen.dart:171:7 • (undefined_named_parameter)
  error • The named parameter 'errorText' isn't defined at lib/screens/phone_code_screen.dart:288:31 • (undefined_named_parameter)
  error • The named parameter 'errorText' isn't defined at lib/screens/phone_code_screen.dart:293:31 • (undefined_named_parameter)
  error • The named parameter 'phoneNumber' isn't defined at lib/screens/phone_number_screen.dart:49:9 • (undefined_named_parameter)
  error • The named parameter 'verificationCompleted' isn't defined at lib/screens/phone_number_screen.dart:50:9 • (undefined_named_parameter)
  error • The named parameter 'verificationFailed' isn't defined at lib/screens/phone_number_screen.dart:57:9 • (undefined_named_parameter)
  error • The named parameter 'codeSent' isn't defined at lib/screens/phone_number_screen.dart:92:9 • (undefined_named_parameter)
  error • The named parameter 'codeAutoRetrievalTimeout' isn't defined at lib/screens/phone_number_screen.dart:102:9 • (undefined_named_parameter)

Note: analysis errors will result in erroneous migration suggestions.

Please fix the analysis issues (or, force generation of migration suggestions by re-running with --ignore-errors).

Now if I take a look at the first two errors as an example, here are the code lines it's pointing to:

final emailCredential = EmailAuthProvider.credential(
          email: _emailAddress.trim(),
          password: randomPassword,
        );

Which is calling this piece of code from Firebase Auth:

/// Creates a new [EmailAuthCredential] from a given email and password.
  static AuthCredential credential({
    required String email,
    required String password,
  }) {
    return EmailAuthCredential._credential(email, password);
  }

And as you can see, both named parameters are well defined, so I really don't see what the problem is. And I checked all the other errors, and they are the same: all the named parameters exist and are in fact defined.

What am I missing? Can I safely ignore those errors and proceed with the rest of the migration?

Sebastien
  • 3,583
  • 4
  • 43
  • 82

1 Answers1

1

The problem was due to an outdated installation of Dart, since I was not using the Dart installed with Flutter. After upgrading Dart to the latest version, the problem was solved.

Sebastien
  • 3,583
  • 4
  • 43
  • 82
  • This got me too, but I used the version that came with Flutter rather than the system version: `/path/to/fluttersdk/bin/cache/dart-sdk/dart migrate`. – user1978019 Jun 14 '21 at 01:06