Open
Description
The flutter
command always runs a pub get
when a sub-command that needs a resolution is executed. The dart
command doesn't. I think the Flutter behavoir is most user friendly, so suggest we align with that.
Flutter
Analyze:
$ rm .dart_tool/package_config.json
$ flutter analyze
Running "flutter pub get" in f1... 699ms
Resolving dependencies...
Build:
$ rm .dart_tool/package_config.json
$ flutter build apk
Running "flutter pub get" in f1... 714ms
Resolving dependencies...
Run:
$ rm .dart_tool/package_config.json
$ flutter run -d chrome
Running "flutter pub get" in f1... 200ms
Dart
The dart
command does this for test:
mit-macbookpro6:app1 mit$ rm pubspec.lock
mit-macbookpro6:app1 mit$ dart test
Resolving dependencies in /Users/mit/tmp/app1... (1.1s)
But not for analyze
:
$ rm .dart_tool/package_config.json
$ dart analyze
Analyzing app1... 0.7s
error • bin/app1.dart:1:8 • Target of URI doesn't exist: 'package:app1/app1.dart'. Try creating the file referenced by
the URI, or try using a URI for a file that does exist. • uri_does_not_exist
Or for compile
:
$ rm .dart_tool/package_config.json
$ dart compile kernel bin/app1.dart
Compiling bin/app1.dart to kernel file bin/app1.dill.
Info: Compiling with sound null safety.
Error: Couldn't resolve the package 'app1' in 'package:app1/app1.dart'.
Or for migrate:
mit-macbookpro6:app1 mit$ dart migrate
Migrating /Users/mit/tmp/app1
See https://dart.dev/go/null-safety-migration for a migration guide.
Analyzing project...
[------------------------------------------------------------------------------------------------------------------------------|]
8 analysis issues found:
error • Target of URI doesn't exist: 'package:app1/app1.dart' at bin/app1.dart:1:8 • (uri_does_not_exist)
Or for run:
mit-macbookpro6:app1 mit$ dart run bin/app1.dart
../../.pub-cache/hosted/pub.dev/file-6.1.2/lib/src/interface/file.dart:15:16: Error: The method 'File.create' has fewer named arguments than those of overridden method 'File.create'.
Future<File> create({bool recursive = false});