ignite icon indicating copy to clipboard operation
ignite copied to clipboard

Anyone tried to create an expo dev client against an ignited app? I'm getting this error....

Open razor2022 opened this issue 3 years ago • 3 comments

I ignited an app recently using the expo option. Then I upgraded to expo 43. Now I am attempting to build a dev client so i can include some custom native code:

https://docs.expo.dev/development/getting-started/#creating-and-installing-your-first-development-build

I am running the build command:

eas build --profile development --platform android

And getting the following error:

✖ Config sync failed
[stderr] [04:27:32] [android.dangerous]: withAndroidDangerousBaseMod: Could not add expo-dev-client dependencies to existing file /root/workingdir/build/react-native.config.js. See expo-dev-client installation instructions to add them manually: https://docs.expo.dev/clients/installation/
[stderr] [04:27:32] Error: [android.dangerous]: withAndroidDangerousBaseMod: Could not add expo-dev-client dependencies to existing file /root/workingdir/build/react-native.config.js. See expo-dev-client installation instructions to add them manually: https://docs.expo.dev/clients/installation/
[stderr]     at addReactNativeConfigAsync (/root/workingdir/build/node_modules/expo-dev-client/plugin/build/withDevClient.js:35:19)
[stderr]     at action (/root/workingdir/build/node_modules/@expo/config-plugins/src/plugins/withMod.ts:227:29)
[stderr]     at interceptingMod (/root/workingdir/build/node_modules/@expo/config-plugins/src/plugins/withMod.ts:108:27)
[stderr]     at action (/build/node_modules/@expo/config-plugins/src/plugins/withMod.ts:228:14)
[stderr]     at interceptingMod (/build/node_modules/@expo/config-plugins/src/plugins/withMod.ts:108:21)
[stderr]     at interceptingMod (/build/node_modules/@expo/config-plugins/src/plugins/withMod.ts:108:21)
[stderr]     at interceptingMod (/build/node_modules/@expo/config-plugins/src/plugins/withMod.ts:108:21)
[stderr]     at action (/build/node_modules/@expo/config-plugins/src/plugins/createBaseMod.ts:82:21)
[stderr]     at interceptingMod (/build/node_modules/@expo/config-plugins/src/plugins/withMod.ts:108:21)
[stderr]     at evalModsAsync (/build/node_modules/@expo/config-plugins/src/plugins/mod-compiler.ts:172:25)
[stderr]     at compileModsAsync (/build/node_modules/@expo/config-plugins/src/plugins/mod-compiler.ts:82:10)
[stderr]     at configureManagedProjectAsync (/build/node_modules/expo-cli/src/commands/eject/configureProjectAsync.ts:64:12)
[stderr]     at prebuildAsync (/build/node_modules/expo-cli/src/commands/eject/prebuildAsync.ts:90:21)
[stderr]     at actionAsync (/build/node_modules/expo-cli/src/commands/prebuildAsync.ts:37:3)
node exited with non-zero code: 1


---

`npx ignite-cli doctor` results:
System
  platform           win32        
  arch               x64          
  cpu                8 cores       Intel(R) Core(TM) i7 CPU         950  @ 3.07GHz
  directory          PaymentsApp   C:\Users\razor\projects\PaymentsApp

JavaScript (and globally-installed packages)
  node               16.13.0      C:\Program Files\nodejs\node.EXE
  npm                8.1.0        C:\Program Files\nodejs\npm.CMD
    eas-cli          0.38.2      
    expo-cli         4.13.0      
    prettier         2.4.1       
    yarn             1.22.17     
  yarn               1.22.17      C:\Users\razor\AppData\Roaming\npm\yarn.CMD
    eas-cli          0.38.2      
    expo-cli         4.13.0      

Ignite
  ignite-cli         7.8.0        C:\Users\razor\AppData\Local\npm-cache\_npx\e31027f3785124a8\node_modules\.bin\ignite.CMD
  ignite src         build        C:\Users\razor\AppData\Local\npm-cache\_npx\e31027f3785124a8\node_modules\ignite-cli\build

Android
  java               17.0.1       C:\jdk-17.0.1\bin\java.EXE
  android home       -            undefined

razor2022 avatar Nov 30 '21 04:11 razor2022

Hey, I just gave this a try. After a lot of trial and error, turns out you really need [email protected] at least and \react-native-config.js is problematic.

OK, here is what I did.

  1. I have [email protected] installed.
  2. npx ignite-cli new <name> --expo
  3. expo upgrade 44
  4. yarn add [email protected]
  5. eas update:configure
  6. eas build:configure
  7. mv .\react-native-config.js .\react-native-config.js.bak Having this in place seems to cause the above error. Looks like removing this we lose the ability to drop fonts in. Still new to all this so it might be something else too.
  8. eas build --profile development --platform android It'll ask if you want to install expo-dev-client I let it do that.

bendoerr avatar Dec 20 '21 17:12 bendoerr

Will this be fixed soon? or can we still use react-native.config.js somehow?

zakthedev avatar Mar 22 '22 17:03 zakthedev

expo-dev-client will add react-native.config.js, but if you have that already, then it can't. Here is how I added it.

module.exports = {
  dependencies: {
    ...require('expo-dev-client/dependencies'), // to remove
    // ...
  },
};

bkamrani avatar May 08 '22 07:05 bkamrani

@razor2022 have you tried updating to Expo 46 and making a custom dev client according to the Expo docs?

I just did it yesterday successfully, let me know if you have tried the new version.

Expo 46 will be baked into the next version of ignite, but for now you can upgrade like @bendoerr mentions in step 3.

frankcalise avatar Aug 15 '22 21:08 frankcalise

I'm going to close this issue due to inactivity. However, if this problem still persists and you have updated to the latest version of ignite, please open a new issue stating the problem and the output of npx ignite-cli doctor.

Also, you can check out https://community.infinite.red to get help with us (and a bunch of other RN devs!) directly in Slack.

frankcalise avatar Aug 22 '22 12:08 frankcalise