How to install expo 47 using create-expo-app

Is it possible to install a specific version of Expo using create-expo-app ?

Thanks in advance

Hey @twelve, it is. For example, for SDK 47, you can pass the template blank@47 in the following command:

npx create-expo-app --template blank@47

How can I setup a bar project ?


Set up a managed project and then run npx expo prebuild

1 Like

I ran the following command npx expo prebuild -p ios , and right after, the ‘ios’ folder was generated. However, when I checked the current workflow using npx expo-env-info , it still shows ‘managed.’ How can I switch to the bare workflow?


expo-env-info 1.0.5 environment info:
      OS: macOS 13.3.1
      Shell: 5.9 - /bin/zsh
      Node: 14.15.3 - ~/.nvm/versions/node/v14.15.3/bin/node
      Yarn: 1.22.19 - /usr/local/bin/yarn
      npm: 8.9.0 - ~/.nvm/versions/node/v14.15.3/bin/npm
      CocoaPods: 1.11.3 - /Users/ma/.rvm/gems/ruby-2.7.5/bin/pod
      iOS SDK:
        Platforms: DriverKit 22.4, iOS 16.4, macOS 13.3, tvOS 16.4, watchOS 9.4
      Android SDK:
        API Levels: 29, 30, 31, 32
        Build Tools: 29.0.2, 30.0.0, 30.0.2, 30.0.3, 31.0.0
        System Images: android-29 | Intel x86 Atom_64, android-30 | Google Play Intel x86 Atom
      Android Studio: 2022.1 AI-221.6008.13.2211.9619390
      Xcode: 14.3.1/14E300c - /usr/bin/xcodebuild
      expo: ~47.0.14 => 47.0.14
      react: 18.1.0 => 18.1.0
      react-native: 0.70.8 => 0.70.8
      eas-cli: 3.13.0
      expo-cli: 6.3.7
    Expo Workflow: managed

That’s strange. Here’s what I get:

/tmp$ npx create-expo-app testapp -t blank@sdk-47
✔ Downloaded and extracted project files.
> npm install

added 1176 packages, and audited 1177 packages in 2m


✅ Your project is ready!


/tmp$ cd testapp
/tmp/testapp$ npx expo prebuild -p ios

📝  iOS Bundle Identifier Learn more

✔ What would you like your iOS bundle identifier to be? … com.wodin.testapp

✔ Created native project | gitignore skipped
✔ Added Metro config
✔ Updated package.json and added index.js entry point for iOS and Android
› Removed "main": "node_modules/expo/AppEntry.js" from package.json because we recommend using index.js as main instead

› Installing using npm
✔ Config synced
✔ Skipped installing CocoaPods because operating system is not on macOS.
/tmp/testapp$ npx expo-env-info | tail -n 2
    Expo Workflow: bare


By the way, why do you want to use the Bare workflow? These days you can usually use the Managed workflow, even if in the past you would have needed the Bare workflow.

I ran into this issue and I need to create a reproducible example for my existing project that uses Expo 47 and the bare workflow