eas-cli: Error: Runtime version policies are only supported in the managed workflow

Summary

Hi, I ran command eas update --auto and got this error. Please help 😄

Error: Runtime version policies are only supported in the managed 
    workflow. In the bare workflow, runtime version needs to be set manually.

Runtime version policies are only supported image

What platform(s) does this occur on?

Android

SDK Version

46

Environment

expo-env-info 1.0.5 environment info: System: OS: macOS 13.0 Shell: 5.8.1 - /bin/zsh Binaries: Node: 14.19.3 - /usr/local/bin/node Yarn: 1.22.19 - ~/.nvm/versions/node/v14.19.3/bin/yarn npm: 6.14.17 - ~/.nvm/versions/node/v14.19.3/bin/npm Watchman: 2022.11.28.00 - /opt/homebrew/bin/watchman Managers: CocoaPods: 1.11.3 - /usr/local/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: ~46.0.17 => 46.0.17 react: 18.0.0 => 18.0.0 react-dom: 18.0.0 => 18.0.0 react-native: 0.69.6 => 0.69.6 react-native-web: ~0.18.7 => 0.18.10 npmGlobalPackages: eas-cli: 3.0.0 expo-cli: 6.0.5 Expo Workflow: bare

Minimal reproducible example

  1. Build internal apk
  2. update some code
  3. run eas update --auto

About this issue

  • Original URL
  • State: closed
  • Created 2 years ago
  • Reactions: 6
  • Comments: 16

Most upvoted comments

version

I still get the error after adding these lines in “expo” in app.json file "runtimeVersion": { "policy": "exposdk:46.0.0" },

image

Try without “policy” Justo like that "runtimeVersion": "exposdk:46.0.0",

I found the solution, the text told so evident, In the bare workflow, runtime version needs to be set manually. So i try to set manually the version, like how to the doc say it …

... "expo" : { ... "runtimeVersion": "exposdk:47.0.0" } }

And its works for me Source : https://docs.expo.dev/eas-update/runtime-versions/

The "sdkVersion" policy will set the runtime version to the current SDK version of a project. For instance, if the project is on Expo SDK 1.0.0, the runtime version with this policy will be "exposdk:1.0.0". This runtime version will update any time we update the project's Expo SDK. So, if we ran expo upgrade and installed Expo SDK 2.0.0, then the runtime version would become "exposdk:2.0.0".

We would like to use appVersion as the runtimeVersion in app.config.js per this documentation but the builds won’t run on a simulator when this is set (they only run if the runtimeVersion is set to sdkVersion, or if the runtimeVersion is deleted entirely). Is this the expected workflow? I don’t want to have to rebuild my app on expo servers every time I want to test a change, but appVersion is the best policy for us as we manage our OTA updates based on the appVersion. Is there a way to use this runtimePolicy without having to delete it from app.config.js before trying to run it on a simulator?

Thanks in advance.

image

Hmm, I’m using a managed workflow and still getting this. Is there a way to diagnose this?

I have:

"runtimeVersion": {
      "policy": "sdkVersion"
    },

(Using SDK 47)

In fact, this seems like an Expo bug in SDK 47, as if you set "runtimeVersion": "exposdk:47.0.0" it works, but if you set "runtimeVersion": "47.0.0" (so omit the exposdk:) it does not.

My original configuration with the "policy": "sdkVersion" interpolates in "runtimeVersion": "47.0.0" Can confirm this as when I check my channels history I see: image

It is however strange that the failed update appears…

version

I still get the error after adding these lines in “expo” in app.json file "runtimeVersion": { "policy": "exposdk:46.0.0" },

image

I just deleted the dist and ios directory. And it works for me.

version

I still get the error after adding these lines in “expo” in app.json file "runtimeVersion": { "policy": "exposdk:46.0.0" }, image

Try without “policy” Justo like that "runtimeVersion": "exposdk:46.0.0",

It worked! You’re really a live saver, bro.

im my case this solved my issue

“runtimeVersion”: “1.0.0”,

It works for me when I change the version in the “dependencies” array in the package.json file.