Prebuild step fails because it updates the yarn.lock file (managed)

Posting related build logs below.

The project is a managed expo project and it replaces the react-native dependency when installing which updates the lock-file and then exits with an error. Anyone know why this is happening and how I can mitigate it?

Prebuilding managed project
- Creating native project directories (./ios and ./android) and updating .gitignore
✔ Created native project
- Adding Metro bundler config
⚠️  Skipped Metro config updates:
› Existing Metro config found; not overwriting.
› You will need to extend the default @expo/metro-config in your Metro config.
  Learn more: https://docs.expo.dev/guides/customizing-metro
- Updating your package.json scripts, dependencies, and main file
✔ Updated package.json and added index.js entry point for iOS and Android
- Config syncing
✔ Config synced
...
➤ YN0000: ┌ Post-resolution validation
➤ YN0000: │ @@ -1721,8 +1721,9 @@
➤ YN0000: │      expo-linking: ~2.3.1
➤ YN0000: │      expo-localization: ^10.2.0
➤ YN0000: │      expo-splash-screen: ~0.11.2
➤ YN0000: │      expo-status-bar: ~1.0.4
➤ YN0028: │ +    expo-updates: ~0.8.1
➤ YN0000: │      expo-web-browser: ~9.2.0
➤ YN0000: │      faker: ^5.5.3
➤ YN0000: │      graphql: ^15.5.3
➤ YN0000: │      i18n-js: ^3.8.0
➤ YN0000: │ @@ -1730,17 +1731,18 @@
➤ YN0000: │      lodash.debounce: ^4.0.8
➤ YN0000: │      prettier: ^2.4.1
➤ YN0000: │      react: 16.13.1
➤ YN0000: │      react-dom: 16.13.1
➤ YN0028: │ -    react-native: "https://github.com/expo/react-native/archive/sdk-42.0.0.tar.gz"
➤ YN0028: │ +    react-native: ~0.63.4
➤ YN0000: │      react-native-drop-shadow: ^0.0.2
➤ YN0000: │      react-native-gesture-handler: ~1.10.2
➤ YN0000: │      react-native-keyboard-aware-scroll-view: ^0.9.4
➤ YN0000: │      react-native-reanimated: ~2.2.0
➤ YN0000: │      react-native-safe-area-context: 3.2.0
➤ YN0000: │      react-native-screens: ~3.4.0
➤ YN0000: │      react-native-shadow-2: ^5.1.0
➤ YN0000: │      react-native-svg: 12.1.1
➤ YN0028: │ +    react-native-unimodules: 0.14.10
➤ YN0000: │      react-native-web: ~0.13.12
➤ YN0000: │      recoil: ^0.4.1
➤ YN0000: │      tailwindcss: ^2.2.15
➤ YN0000: │      twrnc: next
➤ YN0000: │ @@ -1980,9 +1982,9 @@
...
➤ YN0028: │ The lockfile would have been modified by this install, which is explicitly forbidden.
➤ YN0000: └ Completed in 0s 330ms

yarn 2 enables immutable option by default when running on CI (e.g. if CI env is set) you can override it by specifying env in your eas.json build profile "YARN_ENABLE_IMMUTABLE_INSTALLS": "false"

1 Like

This topic was automatically closed 20 days after the last reply. New replies are no longer allowed.