How to install expo 47 using create-expo-app

Hi,
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
2 Likes

@amanhimself
How can I setup a bar project ?

Thanks

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?

ENV


expo-env-info 1.0.5 environment info:
    System:
      OS: macOS 13.3.1
      Shell: 5.9 - /bin/zsh
    Binaries:
      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
    Managers:
      CocoaPods: 1.11.3 - /Users/ma/.rvm/gems/ruby-2.7.5/bin/pod
    SDKs:
      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
    IDEs:
      Android Studio: 2022.1 AI-221.6008.13.2211.9619390
      Xcode: 14.3.1/14E300c - /usr/bin/xcodebuild
    npmPackages:
      expo: ~47.0.14 => 47.0.14
      react: 18.1.0 => 18.1.0
      react-native: 0.70.8 => 0.70.8
    npmGlobalPackages:
      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

/tmp/testapp$ 

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