ExpoKit: Pod install fails (SDK 37)

Hi,

I am trying to complete a run of pod install for an app that was built based on Expo SDK 37 and using the ExpoKit workflow.

I know that ExpoKit was deprecated after SDK 36, and that the last ExpoKit version came with SDK 38. Further, I am aware that existing ExpoKit apps would no longer receive fixes or feature updates. According to “Migrating from ExpoKit”, apps in the App Store and Play Store are supposed to “continue to run indefinitely”. But would the pod installation break?

Running pod install provides me with the following error:

[!] Error installing ExpoKit
[!] Failed to download 'ExpoKit': [!] /usr/local/bin/git clone http://github.com/expo/expo.git /var/folders/tc/qkdgb3cn01gdl6s797ndsn7c0000gn/T/d20210714-35165-cjmcbh --template= --single-branch --depth 1 --branch ios/2.15.1

Cloning into '/var/folders/tc/qkdgb3cn01gdl6s797ndsn7c0000gn/T/d20210714-35165-cjmcbh'...
warning: redirecting to https://github.com/expo/expo.git/
warning: Could not find remote branch ios/2.15.1 to clone.
fatal: Remote branch ios/2.15.1 not found in upstream origin

Running pod --version returns 1.9.1 .

There are some older posts (2019 and before) on the forum related to the issue I am experiencing (e.g. https://forums.expo.dev/t/pod-install-fail-to-download-expokit-2-9-0/), and I have tried the suggestions there ( brew install git-lfs or pod repo update etc), but to no avail.

Looking at the git repository, there are no tags/branches that match the branch that pod install is trying to clone ( ios/2.15.1 ).

Is there anything else I can do to get the ExpoKit pod/source? Of course, the project would need to migrate to Bare, but being able to install ExpoKit again in the meantime would be good regardless.

Thank you very much.

1 Like

Hi,

Just following this up as I am still having this issue.

I thought ExpoKit would continue to work indefinitely, just not receive new updates and fixes?

Any reply would be greatly appreciated, as this is now blocking me from developing any further.

Thanks.

Hello,

We are having the same issue too. Is it any way now to get a github branch so we can continue working with expokit 37/38? Currently all the branches related to expokit seem to be gone.

Thanks

Still waiting for a response 21 days later…

Seems absurd to me that they’d remove all tags / branches, especially after they stated that ExpoKit would continue to work indefinitely.

Can anyone from the Expo team assist?

Anything???

Hey, sorry you’re having trouble with this. I wanna clarify, though, that your apps that are already deployed to the App Store and Play Store on Expokit will continue to work indefinitely (that’s what we stated here).

Have you tried moving to the bare workflow now, instead of upgrading your expokit version? It shouldn’t be too bad of a process unless you have a very large amount of custom native code you added yourself

Our company is entirely blocked as well on any mobile app development due to this issue - we’re trying to upgrade but we have a lot of native code and it’s going to be at least a month long process and we have urgent tickets for the mobile app that can’t wait a month

Is there any way to make ExpoKit available for download so we can actually push fixes again while we try to upgrade?? I’ve also sent our Podfile and package.json to secure@expo.io

Here’s the error we’re getting:

Pre-downloading: `ExpoKit` from `http://github.com/expo/expo.git`, tag `ios/2.13.0`

[!] Error installing ExpoKit
[!] Failed to download 'ExpoKit': [!] /usr/local/bin/git clone http://github.com/expo/expo.git /var/folders/4c/kw7dd_t54yj5jx7yg5tds49w0000gn/T/d20210819-2813-1ck304i --template= --single-branch --depth 1 --branch ios/2.13.0

Cloning into '/var/folders/4c/kw7dd_t54yj5jx7yg5tds49w0000gn/T/d20210819-2813-1ck304i'...
warning: redirecting to https://github.com/expo/expo.git/
warning: Could not find remote branch ios/2.13.0 to clone.
fatal: Remote branch ios/2.13.0 not found in upstream origin

Hi, migration isn’t something we can do easily at the moment due to a lot of native code. We can look at starting this process, but it will take time and we are urgently needing to fix issues and push an update, but we cannot proceed without this Pod file.

I don’t see the issue in making ExpoKit available for download for legacy sake. Is this something you can re-host? Looking at this thread, it appears it’s affecting a lot of people, so it seems a no brainer to do this.

Which thread are you referring to?

This issue above.

Hey @charliecruzan

It looks like the ios/2.13.0 tag is needed by the pod install command, but there are no longer any tags in the expo/expo repository :astonished:

I have an old clone of the repository in which that tag points to the following commit:

tag ios/2.13.0
Tagger: szymon <szymon.kapala@swmansion.com>
Date:   Wed Sep 18 10:59:45 2019 +0200

ExpoKit v2.13.0 for SDK35

commit e25dfb68a948eb5286d97ac6674ab207234512af (tag: ios/2.13.0)
Author: Eric Samelson <samelson.e@gmail.com>
Date:   Tue Sep 17 16:52:16 2019 -0700

    [expokit] rebuild expo-battery and expo-network

Would adding that tag to the expo/expo repository fix pod install?

Btw, there are a bunch more tags that seem to have been deleted as well:

$ git tag | cut -d/ -f1 | sort | uniq -c
     12 android
     76 ios

ah, you mentioned that it’s affecting a lot of people, but I only see 2 in this thread so I wanted to make sure I wasn’t missing something

the previous tags referred to branches that have since been deleted since they point to unsupported SDK versions. I’m not sure how easy the process is of making those tags available again, and making them available again sort of sends mixed messages since we really don’t recommend people continue to develop on Expokit (we began making that recommendation 1.5 years ago). Could it be done by cloning the repository and pointing to it yourself? Maybe, not sure, but I think it would be easier to move to the bare workflow, especially since that’s something you’ll need to do eventually anyways.

Sorry that this is catching you at an inopportune time, though, that’s a real big stressor :confused:

I have the same problem. I just checked out an old project using Expo SDK32 with ExpoKit. I understand that ExpoKit is no longer supported, but it is no longer possible to build the project at all, because the git tags for the Cocoapods are removed. Is there a fork of Expo with old ExpoKit tags still included?

You could try GitHub - wodin/expo: An open-source platform for making universal native apps with React. Expo runs on Android, iOS, and the web.

1 Like

@wodin Happy New Year!
I have a problem with React Native Project.
This is my Podfile:
pod ‘ExpoKit’,
:git => “GitHub - expo/expo: An open-source platform for making universal native apps with React. Expo runs on Android, iOS, and the web.”,
:tag => “ios/2.13.0”

but there is no tag such as ios/2.13.0 because all deprecated tags were removed.

But fortunately, you have that source code
So I changed my podfile as the following
pod ‘ExpoKit’,
:git => “GitHub - wodin/expo: An open-source platform for making universal native apps with React. Expo runs on Android, iOS, and the web.”,
:tag => “ios/2.13.0”

Then the following bugs are appeared in terminal.

[!] Error installing ExpoKit
[!] Failed to download ‘ExpoKit’: [!] /usr/local/bin/git clone your github /var/folders/td/mv_gf6655yx9_rp9791zv1bm0000gn/T/d20230107-2763-f6x8vh --template= --single-branch --depth 1 --branch ios/2.13.0

Cloning into ‘/var/folders/td/mv_gf6655yx9_rp9791zv1bm0000gn/T/d20230107-2763-f6x8vh’…
Note: switching to ‘e25dfb68a948eb5286d97ac6674ab207234512af’.

You are in ‘detached HEAD’ state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by switching back to a branch.

If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -c with the switch command. Example:

git switch -c

Or undo this operation with:

git switch -

Turn off this advice by setting config variable advice.detachedHead to false

git-lfs filter-process: git-lfs: command not found
fatal: the remote end hung up unexpectedly
warning: Clone succeeded, but checkout failed.
You can inspect what was checked out with ‘git status’
and retry with 'git restore --source=HEAD :

Would you like to help me? Thank you.

Hi @galuis116

ExpoKit was discontinued ages ago. I suggest you migrate to a bare app or even maybe the managed workflow.

But the error sounds like you do not have git LFS installed

@wodin Thanks for your reply
Your advice is very valuable.
I got your idea