Can SDK33 be built with turtle-cli 0.5.15?

I’m trying to upgrade to SDK33 but I’ve been using the older version of turtle-cli in order to continue to user Branch.io within Android builds as detailed in this blog post https://blog.expo.io/changes-to-expo-branch-support-d002c4bc564e by @jess

I’m getting the following error when I try to build:

WARN: There is a new version of turtle-cli available (0.8.8).
You are currently using turtle-cli 0.5.15
Run npm install -g turtle-cli to get the latest version
platform: “ios”
environment: null
Jul 11 13:34:44 turtle[14129] INFO: shell app for SDK 33.0.0 doesn’t exist, downloading…
platform: “ios”
environment: null
buildPhase: “setting up environment”
Jul 11 13:34:44 turtle[14129] ERROR: Failed to build standalone app
err: Error: ENOENT: no such file or directory, open ‘/usr/lib/node_modules/turtle-cli/shellTarballs/android/sdk33’
platform: “ios”
environment: null

Is it not possible to build sdk33 with the old verion of turtle-cli? How can I update to sdk33 and still use Branch on android without ejecting? Will I also have a problem producing the new required 64bit version for android?

here is my package.json:
{
“name”: “turtle-cli”,
“version”: “0.5.15”,
“description”: “The command-line tool for building standalone Expo apps”,
“preferGlobal”: true,
“scripts”: {
“start”: “EXPENV_OVERRIDES=local-common,local,local-queue expenv gulp”,
“start:ios”: “PLATFORM=ios yarn start”,
“start:android”: “PLATFORM=android yarn start”,
“watch”: “EXPENV_OVERRIDES=local-common,local,local-queue expenv gulp watch:source”,
“bin:turtle”: “./bin/turtle.js”,
“lint”: “tslint -c tslint.json 'src//*.ts’",
“lint:fix”: “yarn lint --fix”,
“prepare”: “yarn build”,
“build”: “gulp build:server”,
“build:production”: “./scripts/build.sh”,
“build:android-tarball:local”: “./scripts/android/buildAndroidTarballLocally.sh”,
“secrets:init-private”: “./scripts/initPrivateSecrets.sh”,
“set-workingdir:remote”: “./scripts/setWorkingdirMode.sh remote”,
“set-workingdir:local”: “./scripts/setWorkingdirMode.sh local”,
“docker:pull”: “retry5 gcloud docker – pull gcr.io/exponentjs/turtle-android:latest”,
“docker:pull:tag”: “retry5 gcloud docker – pull gcr.io/exponentjs/turtle-android:{TAG}", "docker:build": "yarn build:production android && gcloud docker -- build -t gcr.io/exponentjs/turtle-android:latest -t gcr.io/exponentjs/turtle-android:{TAG} .”,
“docker:push”: “retry5 gcloud docker – push gcr.io/exponentjs/turtle-android:${TAG} && retry5 gcloud docker – push gcr.io/exponentjs/turtle-android:latest”,
“deploy:android”: “./scripts/android/deploy.sh”,
“test”: “yarn jest”,
“test:integration”: “yarn test --config jest/integration-config.json”,
“test:unit”: “yarn test --config jest/unit-config.json”,
“test:smoke”: “yarn test --config jest/smoke-config.json --forceExit”,
“test:smoke:android”: “PLATFORM=android yarn test:smoke --testNamePattern=android”,
“test:smoke:ios”: “PLATFORM=ios yarn test:smoke --testNamePattern=iOS”,
“release”: “./scripts/release.sh”,
“release:beta”: “./scripts/releaseBeta.sh”,
“ssh:android:pods-names”: “./scripts/ssh/findAndroidPods.sh”,
“ssh:android:connect”: “./scripts/ssh/connectToAndroidPod.sh”,
“ssh:ios:ips”: “./scripts/ssh/findIosIps.sh”,
“set-priorities”: “yarn set-priorities:local”,
“set-priorities:local”: “EXPENV_OVERRIDES=local-common,local,local-queue expenv babel-node scripts/setConfigurations.js”,
“set-priorities:staging”: “expenv babel-node scripts/setConfigurations.js”,
“set-priorities:production”: “EXPENV_OVERRIDES=prod expenv babel-node scripts/setConfigurations.js”
},
“husky”: {
“hooks”: {
“pre-commit”: “lint-staged”
}
},
“lint-staged”: {
"src/
/*.ts”: [
“yarn lint:fix”,
“git add”
]
},
“bin”: {
“turtle”: “./bin/turtle.js”
},
“files”: [
“bin”,
“build”,
“scripts/cli”,
“shellTarballs”
],
“keywords”: [
“expo”,
“react-native”
],
“engines”: {
“node”: “>=8”
},
“author”: “Expo support@expo.io”,
“license”: “MIT”,
“bugs”: {
“url”: “https://github.com/expo/turtle/issues
},
“homepage”: “https://github.com/expo/turtle#readme”,
“publishConfig”: {
“registry”: “https://registry.npmjs.org/
},
“devDependencies”: {
@types/decompress”: “^4.2.3”,
@types/fs-extra”: “^5.0.4”,
@types/jest”: “^23.3.9”,
@types/joi”: “^13.4.3”,
@types/lodash”: “^4.14.109”,
@types/progress”: “^2.0.1”,
@types/raven”: “^2.5.1”,
@types/request”: “^2.47.1”,
@types/sharp”: “^0.17.8”,
@types/tar”: “^4.0.0”,
@types/uuid”: “^3.4.3”,
@types/which”: “^1.3.1”,
“babel-cli”: “^6.26.0”,
“babel-core”: “^6.26.3”,
“babel-jest”: “^23.6.0”,
“babel-plugin-module-resolver”: “^3.1.1”,
“babel-preset-env”: “^1.6.1”,
“gulp”: “github:gulpjs/gulp#4.0”,
“gulp-babel”: “^7.0.1”,
“gulp-changed”: “^3.2.0”,
“gulp-nodemon”: “^2.4.1”,
“gulp-plumber”: “^1.2.0”,
“gulp-sourcemaps”: “^2.6.4”,
“gulp-typescript”: “^4.0.2”,
“husky”: “^1.3.1”,
“jest”: “^23.6.0”,
“lint-staged”: “^8.1.5”,
“nock”: “^10.0.1”,
“nodemon”: “^1.18.7”,
“release-it”: “^10.0.0”,
“rimraf”: “^2.6.2”,
“source-map-loader”: “^0.2.3”,
“ts-jest”: “^23.10.4”,
“tslint”: “^5.10.0”,
“tslint-eslint-rules”: “^5.4.0”,
“typescript”: “^3.0.1”
},
“dependencies”: {
@expo/spawn-async”: “^1.4.0”,
@google-cloud/logging-bunyan”: “^0.9.5”,
“async-retry”: “^1.2.1”,
“aws-sdk”: “^2.226.1”,
“bunyan”: “^1.8.12”,
“bunyan-debug-stream”: “^1.0.8”,
“bunyan-sentry-stream”: “^1.2.1”,
“commander”: “^2.15.1”,
“copy”: “^0.3.1”,
“decompress”: “^4.2.0”,
“fs-extra”: “^6.0.0”,
“ioredis”: “^3.2.2”,
“is-semver”: “^1.0.8”,
“joi”: “^13.2.0”,
“lodash”: “^4.17.10”,
“progress”: “^2.0.0”,
“raven”: “^2.6.2”,
“request”: “^2.88.0”,
“request-progress”: “^3.0.0”,
“sharp”: “^0.21.0”,
“source-map-support”: “^0.5.6”,
“tar”: “^4.4.6”,
“uuid”: “^3.2.1”,
“which”: “^1.3.1”,
“xdl”: “53.1.6-alpha.2”
},
“optionalDependencies”: {
@expo/traveling-fastlane-darwin”: “^1.8.1”
}
}

I am also curious about this issue, we’re currently in a situation where we need branch but also need 64 bit builds for Play Store requirements. Is this viable or do we need to come up with another solution?

2 Likes