expo: "main.jsbundle does not exist" error when building iOS version locally with Expo SDK 47

Edit: see last comment: https://github.com/expo/expo/issues/20001#issuecomment-1320922419

This issue was fixed in #20056, and released in expo@47.0.6. Please make sure you are using the fixed package version with any of these commands:

  • $ npm ls expo
  • $ pnpm list expo
  • $ yarn why expo
  • $ node --print "require('expo/package.json').version"

If you are still running into similar issues, please open a new issue with a reproducible example. With that, we can investigate why some cases could still be failing.

I’ll lock this issue to keep these reports separate.

Hope this helps!


Summary

I am trying to build the iOS version of an application locally whose Expo version I had upgraded to version 47. I have no issues building the Android version but run into issues when building the iOS. I can build the iOS version when I generate the Xcode project myself but cannot via eas.

This has not been an issue with SDK 45 or SDK 46.

What platform(s) does this occur on?

iOS

Environment

System: OS: macOS 13.0.1 Shell: 5.8.1 - /bin/zsh Binaries: Node: 16.18.1 - /usr/local/bin/node Yarn: 1.22.19 - /opt/homebrew/bin/yarn npm: 8.19.2 - /usr/local/bin/npm Managers: CocoaPods: 1.11.3 - /Users/lindanthillanayagam/.rvm/gems/ruby-3.0.0/bin/pod SDKs: iOS SDK: Platforms: DriverKit 22.1, iOS 16.1, macOS 13.0, tvOS 16.1, watchOS 9.1 IDEs: Android Studio: 2021.2 AI-212.5712.43.2112.8609683 Xcode: 14.1/14B47b - /usr/bin/xcodebuild npmPackages: @expo/webpack-config: ^0.17.2 => 0.17.3 expo: ^47.0.0 => 47.0.3 react: 18.1.0 => 18.1.0 react-dom: 18.1.0 => 18.1.0 react-native: 0.70.5 => 0.70.5 react-native-web: ~0.18.7 => 0.18.10 npmGlobalPackages: eas-cli: 2.6.0 Expo Workflow: managed

Minimal reproducible example

  1. Initialize an expo project with version 47.
  2. Install the packages below:
"dependencies": {
    "@expo/webpack-config": "^0.17.2",
    "@react-native-async-storage/async-storage": "~1.17.3",
    "@react-native-community/datetimepicker": "6.5.2",
    "@react-native-community/netinfo": "9.3.5",
    "@react-native-community/slider": "4.2.4",
    "@react-navigation/bottom-tabs": "^6.3.3",
    "@react-navigation/drawer": "^6.4.4",
    "@react-navigation/native": "^6.0.12",
    "@react-navigation/native-stack": "^6.8.0",
    "@sentry/react-native": "4.2.2",
    "@tanstack/query-async-storage-persister": "^4.2.3",
    "@tanstack/react-query": "^4.2.3",
    "@tanstack/react-query-persist-client": "^4.2.1",
    "axios": "^1.1.3",
    "dayjs": "^1.11.5",
    "dotenv": "^16.0.2",
    "expo": "^47.0.0",
    "expo-application": "~5.0.1",
    "expo-auth-session": "~3.7.2",
    "expo-constants": "~14.0.2",
    "expo-device": "~5.0.0",
    "expo-font": "~11.0.1",
    "expo-linking": "~3.2.3",
    "expo-localization": "~14.0.0",
    "expo-location": "~15.0.1",
    "expo-notifications": "~0.17.0",
    "expo-random": "~13.0.0",
    "expo-secure-store": "~12.0.0",
    "expo-splash-screen": "~0.17.4",
    "expo-status-bar": "~1.4.2",
    "expo-updates": "~0.15.4",
    "expo-web-browser": "~12.0.0",
    "i18next": "^21.9.1",
    "i18next-pseudo": "^2.2.1",
    "intl-pluralrules": "^1.3.1",
    "jest": "^26.6.3",
    "jest-expo": "^47.0.0",
    "react": "18.1.0",
    "react-dom": "18.1.0",
    "react-i18next": "^11.18.5",
    "react-native": "0.70.5",
    "react-native-gesture-handler": "~2.8.0",
    "react-native-maps": "1.3.2",
    "react-native-modal": "^13.0.1",
    "react-native-reanimated": "~2.12.0",
    "react-native-safe-area-context": "4.4.1",
    "react-native-screens": "~3.18.0",
    "react-native-svg": "13.4.0",
    "react-native-web": "~0.18.7",
    "sentry-expo": "~5.0.0",
    "styled-components": "^5.3.5"
  },
  "devDependencies": {
    "@babel/core": "^7.19.3",
    "@react-native-community/eslint-config": "^3.1.0",
    "@testing-library/jest-native": "^5.1.2",
    "@testing-library/react-native": "^11.4.0",
    "@types/jest": "^26.0.14",
    "@types/react": "~18.0.24",
    "@types/react-native": "~0.70.6",
    "@types/styled-components": "^5.1.26",
    "@types/styled-components-react-native": "^5.1.3",
    "@typescript-eslint/eslint-plugin": "^5.36.2",
    "@typescript-eslint/parser": "^5.36.2",
    "babel-plugin-react-native-web": "^0.18.9",
    "eas-cli": "^2.6.0",
    "eslint": "^8.23.0",
    "eslint-config-prettier": "^8.5.0",
    "eslint-plugin-array-func": "^3.1.7",
    "eslint-plugin-import": "^2.25.3",
    "eslint-plugin-jsx-a11y": "^6.6.1",
    "eslint-plugin-promise": "^6.0.1",
    "eslint-plugin-sonarjs": "^0.15.0",
    "license-checker": "^25.0.1",
    "msw": "^0.47.0",
    "prettier": "^2.7.1",
    "react-native-svg-transformer": "^1.0.0",
    "react-test-renderer": "18.1.0",
    "ts-node": "^10.8.1",
    "typescript": "^4.6.3"
  }
  1. Create eas.json file with the following content:
{
  "cli": {
    "version": ">= 2.6.0"
  },
  "build": {
    "development": {
      "developmentClient": true,
      "distribution": "internal"
    },
    "preview": {
      "distribution": "internal",
      "ios": {
        "simulator": true
      },
      "android": {
        "buildType": "apk"
      }
    },
  },
  "submit": {
    "production": {}
  }
}
  1. Run the command npx eas build --platform ios --non-interactive --local --profile preview

About this issue

  • Original URL
  • State: closed
  • Created 2 years ago
  • Reactions: 4
  • Comments: 34 (5 by maintainers)

Most upvoted comments

Thanks for reporting this! We’re able to reproduce by creating a blank project and running eas build -p ios --local, so it seems like this is an issue and we’re looking into it.

@keith-kurak can confirm this is also happening on XCode 13.4.1 (M1) with the SDK 46