When checking Global Pub package versions, we do this:
- Check the
latest version mentioned in the Pub API results
- If it's below the installed version, run
pub global activate
- Check the newly-installed version and if there's a mismatch, assume installation failed
However right now there are a lot of published packages with null-safety that have a version constraint that makes them incompatible with the current Dart SDK. This means the last step fails. This breaks some integration tests, but could also show up for users if any of the packages we actually use (outside of tests) like DevTools or Stagehand published an update that didn't work on the current SDK either.