I migrated to null safety and i cant run "flutter pub run build_runner build" without an error being thrown

2,824

Solution 1

Please make sure all of your packages are updated to their respective null-safety version. For build runner use ^1.12.2 and then run below commands in your terminal while sitting in the present working directory.

flutter clean
flutter pub cache repair
flutter pub run build_runner clean
flutter pub get

After then run the build runner command.

This worked for me and I've successfully generated the files using the build runner.

Solution 2

Delete the .pub-cache folder inside your flutter folder and then run pub upgrade, after that you should be able to run:

flutter packages pub run build_runner build --delete-conflicting-outputs
Share:
2,824
nnamdi
Author by

nnamdi

Updated on December 27, 2022

Comments

  • nnamdi
    nnamdi over 1 year

    I have added // @dart=2.9 to all my files but the build_runner won't do its thing without throwing this error:

    Warning: Operand of null-aware operation '?.' has type 'SendPort' which excludes null. - 'SendPort' is from 'dart:isolate'.  sendPort?.send(result);  ^Error: Cannot run with sound null safety, because the following dependencies don't support null safety: 
    - package:build_runner_core 
    - package:json_serializable 
    - package:moor_generator 
    - package:objectbox_generator 
    - package:retrofit_generator 
    - package:source_gen 
    - package:build_config 
    - package:build_runner 
    - package:build 
    - package:json_annotation 
    - package:glob 
    - package:pool 
    - package:crypto 
    - package:logging 
    - package:watcher 
    - package:build_resolvers 
    - package:timing 
    - package:graphs 
    - package:package_config 
    - package:yaml 
    - package:analyzer 
    - package:sqlparser 
    - package:objectbox 
    - package:dart_style 
    - package:built_collection 
    - package:code_builder 
    - package:dio 
    - package:tuple 
    - package:retrofit 
    - package:pedantic 
    - package:checked_yaml 
    - package:pubspec_parse 
    - package:build_daemon 
    - package:args 
    - package:io 
    - package:convert 
    - package:pub_semver 
    - package:ffi 
    - package:quiver 
    - package:moor 
    - package:recase 
    - package:_fe_analyzer_shared 
    - package:built_value 
    - package:http_parser 
    - package:http_multi_server 
    - package:shelf 
    - package:stream_transform 
    - package:mime 
    - package:shelf_web_socket 
    - package:web_socket_channel 
    - package:cli_util 
    - package:fixnum 
    - package:synchronizedFor solutions, see https://dart.dev/go/unsound-null-safety.dart_tool/build/entrypoint/build.dart:44:44: Error: The parameter 'sendPort' can't have a value of 'null' because of its type 'SendPort', but the implicit default value is 'null'. - 'SendPort' is from 'dart:isolate'.Try adding either an explicit non-'null' default value or the 'required' modifier.void main(List<String> args, [_i8.SendPort sendPort]) async { 
    
  • martinseal1987
    martinseal1987 about 3 years
    while this is sound advice it hasn't fixed the issue for me, i did delete the .pub-cache folder which worked once but i think this is the equivalent of flutter pub cache repair
  • martinseal1987
    martinseal1987 about 3 years
    there is an open issue for this here github.com/dart-lang/build/issues/3046
  • Muhammad Salman Siddiqi
    Muhammad Salman Siddiqi about 3 years
    Maybe you're right but the above commands did worked for me. Basically the cache repair command performs a clean reinstall of all hosted and git packages in the system cache. dart.dev/tools/pub/cmd/pub-cache