diff --git a/script/tool/lib/src/analyze_command.dart b/script/tool/lib/src/analyze_command.dart
index 2892db9..b36c43e 100644
--- a/script/tool/lib/src/analyze_command.dart
+++ b/script/tool/lib/src/analyze_command.dart
@@ -63,14 +63,10 @@
       throw ToolExit(1);
     }
 
-    await for (final Directory package in getPackages()) {
-      if (isFlutterPackage(package, fileSystem)) {
-        await processRunner.runAndStream('flutter', <String>['packages', 'get'],
-            workingDir: package, exitOnError: true);
-      } else {
-        await processRunner.runAndStream('dart', <String>['pub', 'get'],
-            workingDir: package, exitOnError: true);
-      }
+    final List<Directory> packageDirectories = await getPackages().toList();
+    for (final Directory package in packageDirectories) {
+      await processRunner.runAndStream('flutter', <String>['packages', 'get'],
+          workingDir: package, exitOnError: true);
     }
 
     // Use the Dart SDK override if one was passed in.
@@ -79,7 +75,8 @@
         dartSdk == null ? 'dart' : p.join(dartSdk, 'bin', 'dart');
 
     final List<String> failingPackages = <String>[];
-    await for (final Directory package in getPlugins()) {
+    final List<Directory> pluginDirectories = await getPlugins().toList();
+    for (final Directory package in pluginDirectories) {
       final int exitCode = await processRunner.runAndStream(
           dartBinary, <String>['analyze', '--fatal-infos'],
           workingDir: package);
