Short answer
Upgrade package:platform to 3.1.0 or later: run flutter pub upgrade, and if pub keeps the old version, find the package that holds it back (flutter pub deps) and upgrade that package. As a last resort, add platform: ^3.1.0 under dependency_overrides.
Why the member is missing, and the fix
01
An old package:platform with a newer Dart
“The Platform.packageRoot API has been removed. It had been marked deprecated in 2018, as it doesn't work with any Dart 2.x release.” GitHub, Dart SDK 2.16.0 changelog
package:platform wraps dart:io’s Platform class. Before 3.1.0 it still exposed packageRoot, which no longer exists in Dart, so the old version no longer compiles. Most projects get platform indirectly, through another package such as process.
flutter pub upgrade flutter clean flutter pub deps | grep -E "(^|[ -])platform " # check which version resolved02
A dependency that pins an old platform version
“Removed Platform.packageRoot, which was already marked deprecated, and which didn't work in Dart 2.” pub.dev, package:platform 3.1.0 changelog
If flutter pub upgrade leaves platform below 3.1.0, another package’s constraint holds it back. flutter pub outdated shows which; upgrade that package to a current version.
flutter pub outdated # raise the package that holds platform back in pubspec.yaml, then: flutter pub get03
No newer version of that package exists
“You can use dependency_overrides to temporarily override all references to a dependency.” Dart, Package dependencies
For an abandoned package, a dependency override forces a newer platform. Treat it as a stopgap and plan to replace the abandoned package. If pub says platform needs SDK 2.12 or later, the project isn’t null safe yet: raise the SDK constraint and migrate it by hand first, because dart migrate no longer exists.
# pubspec.yaml (stopgap only) dependency_overrides: platform: ^3.1.0
Checked against the vendor’s docs on : Dart SDK changelog (2.16.0: Platform.packageRoot removed); pub.dev: package:platform changelog (3.1.0); Dart: Package dependencies (dependency_overrides).
Rather hand it over?
Fixed scope, fixed price, paid upfront. The work happens in writing; no call needed.
- from $450App Fix TicketOne reproducible bug in an existing mobile or web app, diagnosed and fixed.See scope and start
- from $450AI-Built App RescueA Lovable, Bolt or Cursor app checked end to end in 3 days, then its worst problems fixed at a fixed price.No issues worth fixing, no charge. If the Launch Check finds nothing rated medium or higher, Simon refunds the full $450. You keep the report either way. This applies to the first 10 Launch Checks bought after October 30, 2026.See scope and start
Related: Firebase “Member not found: verifyExtends” · Flutter pub “version solving failed” · Flutter “:app:compileFlutterBuildDebug” failed · flutter: command not found