# SDK upgrade: export dies with SyntaxError after expo install --fix

> expo install --fix only reconciles Expo's tracked package set. It left babel-preset-expo (and jest-expo, @types/jest) on the previous major, which cannot parse the new native component specs.

Web page: https://davidewins.com/errors/expo-install-fix-leaves-babel-preset-stale

Expo. Confirmed fix, 10 August 2026.

Versions: Expo SDK 56/57

Error:

```
SyntaxError: ... Unable to determine event arguments for "onModeChange"
```

## Cause

`expo install --fix` only reconciles Expo's tracked package set. It left babel-preset-expo (and jest-expo, @types/jest) on the previous major, which cannot parse the new native component specs.

## Fix

Bump them by hand to the SDK's major on every upgrade, e.g. `npx expo install babel-preset-expo jest-expo`, then re-run `npx expo export --platform ios` to confirm the bundle.

## More Expo errors

- [Dev client red screen: No script URL provided (launcher never appears)](https://davidewins.com/errors/expo-dev-client-no-script-url-precompiled)
- [Bundle fails with Invalid expression encountered after supabase-js update](https://davidewins.com/errors/supabase-js-hermes-invalid-expression)
- [After upgrading to SDK 57, expo-font / expo-image / expo-asset config is missing](https://davidewins.com/errors/expo-sdk57-plugins-must-be-declared)
- [expo-doctor wants TypeScript 6 but tsc reports hundreds of errors](https://davidewins.com/errors/typescript-6-explodes-typecheck-expo)
- [CI typecheck fails (or passes with a broken href) because .expo/types is missing](https://davidewins.com/errors/expo-typed-routes-ci-false-errors)

[Search all errors](https://davidewins.com/errors)
