expo / turtle

Standalone app builder service
MIT License
385 stars 29 forks source link

Expo 43 setup android error #357

Closed MaulikRajpara97 closed 2 years ago

MaulikRajpara97 commented 2 years ago

i upgraded my project from expo 40 to 43 . And during android build i had error. I also the same error when i run below command : turtle setup:android --sdk-version 43.0.0

Turtle version : 0.23.4 Expo version : 4.12.12 npm version : 16.13.0 OS : Big Sur (11.6) M1

Logs :

Nov 10 11:20:12 turtle[42174] INFO: it's all set! platform: "android" buildPhase: "setting up environment" maulikrajpara@MacBook-Pro % turtle setup:android --sdk-version 43.0.0 Nov 10 11:20:49 turtle[42182] INFO: shell app for SDK 43.0.0 doesn't exist, downloading... platform: "android" buildPhase: "setting up environment" downloading [=================== ] 95% 0.8sNov 10 11:21:06 turtle[42182] INFO: shell app has been downloaded platform: "android" buildPhase: "setting up environment" Nov 10 11:21:06 turtle[42182] INFO: extracting shell app (this may take a while)... platform: "android" buildPhase: "setting up environment" Nov 10 11:21:38 turtle[42182] INFO: shell app extracted platform: "android" buildPhase: "setting up environment" Nov 10 11:21:38 turtle[42182] INFO: installing dependencies in /Users/maulikrajpara/.turtle/workingdir/android/sdk43 directory... platform: "android" buildPhase: "setting up environment" Nov 10 11:22:27 turtle[42182] INFO: npm WARN ERESOLVE overriding peer dependency platform: "android" buildPhase: "setting up environment" source: "stderr" Nov 10 11:22:43 turtle[42182] INFO: npm WARN EBADENGINE Unsupported engine { platform: "android" buildPhase: "setting up environment" source: "stderr" Nov 10 11:22:43 turtle[42182] INFO: npm WARN platform: "android" buildPhase: "setting up environment" source: "stderr" Nov 10 11:22:43 turtle[42182] INFO: EBADENGINE package: 'minifier@0.7.1', platform: "android" buildPhase: "setting up environment" source: "stderr" Nov 10 11:22:43 turtle[42182] INFO: npm WARN EBADENGINE required: { node: '~0.10.0 || ^0.12.0' }, platform: "android" buildPhase: "setting up environment" source: "stderr" Nov 10 11:22:43 turtle[42182] INFO: npm WARN EBADENGINE current: { node: 'v16.13.0', npm: '8.1.0' } platform: "android" buildPhase: "setting up environment" source: "stderr" Nov 10 11:22:43 turtle[42182] INFO: npm WARN EBADENGINE } platform: "android" buildPhase: "setting up environment" source: "stderr" Nov 10 11:22:48 turtle[42182] INFO: npm WARN deprecated request-promise-native@1.0.9: request-promise-native has been deprecated because it extends the now deprecated request package, see https://github.com/request/request/issues/3142 platform: "android" buildPhase: "setting up environment" source: "stderr" Nov 10 11:22:48 turtle[42182] INFO: npm WARN deprecated har-validator@5.1.5: this library is no longer supported platform: "android" buildPhase: "setting up environment" source: "stderr" Nov 10 11:22:48 turtle[42182] INFO: npm WARN deprecated urix@0.1.0: Please see https://github.com/lydell/urix#deprecated platform: "android" buildPhase: "setting up environment" source: "stderr" Nov 10 11:22:48 turtle[42182] INFO: npm WARN deprecated resolve-url@0.2.1: https://github.com/lydell/resolve-url#deprecated platform: "android" buildPhase: "setting up environment" source: "stderr" Nov 10 11:22:48 turtle[42182] INFO: npm WARN deprecated platform: "android" buildPhase: "setting up environment" source: "stderr" Nov 10 11:22:48 turtle[42182] INFO: minifier@0.7.1: please don't use. see readme (https://github.com/fizker/minifier) for details platform: "android" buildPhase: "setting up environment" source: "stderr" Nov 10 11:22:48 turtle[42182] INFO: npm WARN deprecated left-pad@1.3.0: use String.prototype.padStart() platform: "android" buildPhase: "setting up environment" source: "stderr" Nov 10 11:22:49 turtle[42182] INFO: npm WARN platform: "android" buildPhase: "setting up environment" source: "stderr" Nov 10 11:22:49 turtle[42182] INFO: deprecated sane@4.1.0: some dependency vulnerabilities fixed, support for node < 10 dropped, and newer ECMAScript syntax/features added platform: "android" buildPhase: "setting up environment" source: "stderr" Nov 10 11:22:49 turtle[42182] INFO: npm WARN platform: "android" buildPhase: "setting up environment" source: "stderr" Nov 10 11:22:49 turtle[42182] INFO: deprecated uuid@3.0.0: Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details. platform: "android" buildPhase: "setting up environment" source: "stderr" Nov 10 11:22:49 turtle[42182] INFO: npm WARN deprecated fsevents@1.2.13: fsevents 1 will break on node v14+ and could be using insecure binaries. Upgrade to fsevents 2. platform: "android" buildPhase: "setting up environment" source: "stderr" Nov 10 11:22:49 turtle[42182] INFO: npm WARN deprecated chokidar@2.1.8: Chokidar 2 will break on node v14+. Upgrade to chokidar 3 with 15x less dependencies. platform: "android" buildPhase: "setting up environment" source: "stderr" Nov 10 11:22:49 turtle[42182] INFO: npm WARN platform: "android" buildPhase: "setting up environment" source: "stderr" Nov 10 11:22:49 turtle[42182] INFO: deprecated fsevents@1.2.13: fsevents 1 will break on node v14+ and could be using insecure binaries. Upgrade to fsevents 2. platform: "android" buildPhase: "setting up environment" source: "stderr" Nov 10 11:22:49 turtle[42182] INFO: npm WARN deprecated chokidar@2.1.8: Chokidar 2 will break on node v14+. Upgrade to chokidar 3 with 15x less dependencies. platform: "android" buildPhase: "setting up environment" source: "stderr" Nov 10 11:22:49 turtle[42182] INFO: npm WARN deprecated fsevents@1.2.13: fsevents 1 will break on node v14+ and could be using insecure binaries. Upgrade to fsevents 2. platform: "android" buildPhase: "setting up environment" source: "stderr" Nov 10 11:22:49 turtle[42182] INFO: npm WARN deprecated querystring@0.2.0: The querystring API is considered Legacy. new code should use the URLSearchParams API instead. platform: "android" buildPhase: "setting up environment" source: "stderr" Nov 10 11:22:49 turtle[42182] INFO: npm platform: "android" buildPhase: "setting up environment" source: "stderr" Nov 10 11:22:49 turtle[42182] INFO: WARN deprecated mkdirp@0.3.0: Legacy versions of mkdirp are no longer supported. Please update to mkdirp 1.x. (Note that the API surface has changed to use Promises in 1.x.) platform: "android" buildPhase: "setting up environment" source: "stderr" Nov 10 11:22:49 turtle[42182] INFO: npm WARN deprecated uuid@3.4.0: Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details. platform: "android" buildPhase: "setting up environment" source: "stderr" Nov 10 11:22:49 turtle[42182] INFO: npm WARN deprecated request@2.88.2: request has been deprecated, see https://github.com/request/request/issues/3142 platform: "android" buildPhase: "setting up environment" source: "stderr" Nov 10 11:22:49 turtle[42182] INFO: npm platform: "android" buildPhase: "setting up environment" source: "stderr" Nov 10 11:22:49 turtle[42182] INFO: WARN deprecated uglify-es@3.3.9: support for ECMAScript is superseded by uglify-js as of v3.13.0 platform: "android" buildPhase: "setting up environment" source: "stderr" Nov 10 11:22:50 turtle[42182] INFO: npm WARN deprecated svgo@1.3.2: This SVGO version is no longer supported. Upgrade to v2.x.x. platform: "android" buildPhase: "setting up environment" source: "stderr" Nov 10 11:22:50 turtle[42182] INFO: npm platform: "android" buildPhase: "setting up environment" source: "stderr" Nov 10 11:22:50 turtle[42182] INFO: WARN deprecated core-js@1.2.7: core-js@<3.3 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Please, upgrade your dependencies to the actual version of core-js. platform: "android" buildPhase: "setting up environment" source: "stderr" Nov 10 11:22:52 turtle[42182] INFO: npm platform: "android" buildPhase: "setting up environment" source: "stderr" Nov 10 11:22:52 turtle[42182] INFO: WARN deprecated processing-js@1.6.6: This project has been archived. Please use p5js instead. platform: "android" buildPhase: "setting up environment" source: "stderr" Nov 10 11:22:56 turtle[42182] INFO: npm ERR! code 1 platform: "android" buildPhase: "setting up environment" source: "stderr" Nov 10 11:22:56 turtle[42182] INFO: npm ERR! path /Users/maulikrajpara/.turtle/workingdir/android/sdk43/packages/html-elements platform: "android" buildPhase: "setting up environment" source: "stderr" Nov 10 11:22:56 turtle[42182] INFO: npm ERR! command failed platform: "android" buildPhase: "setting up environment" source: "stderr" Nov 10 11:22:56 turtle[42182] INFO: npm ERR! command sh -c expo-module prepare platform: "android" buildPhase: "setting up environment" source: "stderr" Nov 10 11:22:56 turtle[42182] INFO: npm ERR! /Users/maulikrajpara/.turtle/workingdir/android/sdk43/node_modules/commander/index.js:1415 platform: "android" buildPhase: "setting up environment" source: "stderr" Nov 10 11:22:56 turtle[42182] INFO: npm ERR! throw new Error(executableMissing); platform: "android" buildPhase: "setting up environment" source: "stderr" Nov 10 11:22:56 turtle[42182] INFO: npm ERR! ^ platform: "android" buildPhase: "setting up environment" source: "stderr" Nov 10 11:22:56 turtle[42182] INFO: npm ERR! platform: "android" buildPhase: "setting up environment" source: "stderr" Nov 10 11:22:56 turtle[42182] INFO: npm ERR! Error: 'expo-module-prepare' does not exist platform: "android" buildPhase: "setting up environment" source: "stderr" Nov 10 11:22:56 turtle[42182] INFO: npm ERR! - if 'prepare' is not meant to be an executable command, remove description parameter from '.command()' and use '.description()' instead platform: "android" buildPhase: "setting up environment" source: "stderr" Nov 10 11:22:56 turtle[42182] INFO: npm ERR! - if the default executable name is not suitable, use the executableFile option to supply a custom name platform: "android" buildPhase: "setting up environment" source: "stderr" Nov 10 11:22:56 turtle[42182] INFO: npm ERR! at ChildProcess. (/Users/maulikrajpara/.turtle/workingdir/android/sdk43/node_modules/commander/index.js:1415:15) platform: "android" buildPhase: "setting up environment" source: "stderr" Nov 10 11:22:56 turtle[42182] INFO: npm ERR! at ChildProcess.emit (node:events:390:28) platform: "android" buildPhase: "setting up environment" source: "stderr" Nov 10 11:22:56 turtle[42182] INFO: npm ERR! at Process.ChildProcess._handle.onexit (node:internal/child_process:288:12) platform: "android" buildPhase: "setting up environment" source: "stderr" Nov 10 11:22:56 turtle[42182] INFO: npm ERR! at onErrorNT (node:internal/child_process:477:16) platform: "android" buildPhase: "setting up environment" source: "stderr" Nov 10 11:22:56 turtle[42182] INFO: npm ERR! at processTicksAndRejections (node:internal/process/task_queues:83:21) platform: "android" buildPhase: "setting up environment" source: "stderr" Nov 10 11:22:56 turtle[42182] INFO: npm ERR! platform: "android" buildPhase: "setting up environment" source: "stderr" Nov 10 11:22:56 turtle[42182] INFO: A complete log of this run can be found in: platform: "android" buildPhase: "setting up environment" source: "stderr" Nov 10 11:22:56 turtle[42182] INFO: npm ERR! /Users/maulikrajpara/.npm/_logs/2021-11-10T17_22_56_337Z-debug.log platform: "android" buildPhase: "setting up environment" source: "stderr" Nov 10 11:22:56 turtle[42182] ERROR: Failed to setup environment for android builds err: Error: npm exited with non-zero code: 1 at ChildProcess.completionListener (/Users/maulikrajpara/.nvm/versions/node/v16.13.0/lib/node_modules/turtle-cli/node_modules/@expo/spawn-async/src/spawnAsync.ts:65:13) at Object.onceWrapper (node:events:510:26) at ChildProcess.emit (node:events:390:28) at ChildProcess.emit (node:domain:475:12) at maybeClose (node:internal/child_process:1064:16) at Socket. (node:internal/child_process:450:11) at Socket.emit (node:events:390:28) at Socket.emit (node:domain:475:12) at Pipe. (node:net:687:12) ... at spawnAsync (/Users/maulikrajpara/.nvm/versions/node/v16.13.0/lib/node_modules/turtle-cli/node_modules/@expo/spawn-async/src/spawnAsync.ts:26:19) at Object.spawnAsyncThrowError (/@expo/xdl@59.1.7/src/detach/ExponentTools.ts:111:19) at _installNodeModules (/Users/maulikrajpara/.nvm/versions/node/v16.13.0/lib/node_modules/turtle-cli/src/bin/setup/android/index.ts:106:23) at _shellAppPostDownloadAction (/Users/maulikrajpara/.nvm/versions/node/v16.13.0/lib/node_modules/turtle-cli/src/bin/setup/android/index.ts:91:5) at Object.ensureShellAppIsPresent (/Users/maulikrajpara/.nvm/versions/node/v16.13.0/lib/node_modules/turtle-cli/src/bin/setup/utils/common.ts:40:5) at Object.setup [as default] (/Users/maulikrajpara/.nvm/versions/node/v16.13.0/lib/node_modules/turtle-cli/src/bin/setup/android/index.ts:60:5) at Object.setup [as default] (/Users/maulikrajpara/.nvm/versions/node/v16.13.0/lib/node_modules/turtle-cli/src/bin/setup/setup.ts:15:12) at setupAction (/Users/maulikrajpara/.nvm/versions/node/v16.13.0/lib/node_modules/turtle-cli/src/bin/commands/setup.ts:33:5) at /Users/maulikrajpara/.nvm/versions/node/v16.13.0/lib/node_modules/turtle-cli/src/bin/commands/setup.ts:22:40 at Command. (/Users/maulikrajpara/.nvm/versions/node/v16.13.0/lib/node_modules/turtle-cli/src/bin/index.ts:23:12) platform: "android"

buddebej commented 2 years ago

Had the same problem..

Did you try to install expo-modules-core? https://www.npmjs.com/package/expo-modules-core

For me, downgrading nodejs to 14 and installing expo-modules-core solved the issue.

Update: The build now fails with:

ov 21 02:25:38 turtle[88726] ERROR: Error: Must specify androidPackage option (either from manifest or on command line). at runShellAppModificationsAsync (/@expo/xdl@59.1.7/src/detach/AndroidShellApp.js:448:11) at Object.createAndroidShellAppAsync (/@expo/xdl@59.1.7/src/detach/AndroidShellApp.js:377:9) at runShellAppBuilder (/usr/lib/node_modules/turtle-cli/src/builders/android.ts:91:5) at buildAndroid (/usr/lib/node_modules/turtle-cli/src/builders/android.ts:23:26) at /usr/lib/node_modules/turtle-cli/src/bin/utils/builder.ts:87:7 at Command. (/usr/lib/node_modules/turtle-cli/src/bin/index.ts:23:12) platform: "android" Nov 21 02:25:38 turtle[88726] ERROR: Failed to build standalone app err: Error: Must specify androidPackage option (either from manifest or on command line). at runShellAppModificationsAsync (/@expo/xdl@59.1.7/src/detach/AndroidShellApp.js:448:11) at Object.createAndroidShellAppAsync (/@expo/xdl@59.1.7/src/detach/AndroidShellApp.js:377:9) at runShellAppBuilder (/usr/lib/node_modules/turtle-cli/src/builders/android.ts:91:5) at buildAndroid (/usr/lib/node_modules/turtle-cli/src/builders/android.ts:23:26) at /usr/lib/node_modules/turtle-cli/src/bin/utils/builder.ts:87:7 at Command. (/usr/lib/node_modules/turtle-cli/src/bin/index.ts:23:12) platform: "android"

Gr3at commented 2 years ago

Same issue here with:

Any recommendation is more than welcome.

Update

I had to downgrade node to 14.x and utilize yarn instead of npm for the setup and build processes to work.

You may find a working gitlab-ci.yml configuration here