EAS build for android failing. It was working fine. But suddenly failed to build while yarn install dependencies
NB: No changes were made after the successful build-in of package.json. The project runs fine locally.
Eas build errors -
[4/4] Building fresh packages...
error /home/expo/workingdir/build/node_modules/babel-plugin-react-compiler: Command failed.
Exit code: 127
Command: ./scripts/link-react-compiler-runtime.sh
Arguments:
Directory: /home/expo/workingdir/build/node_modules/babel-plugin-react-compiler
Output:
/bin/sh: 1: ./scripts/link-react-compiler-runtime.sh: not found
info Visit https://yarnpkg.com/en/docs/cli/install for documentation about this command.
yarn install exited with non-zero code: 127
Complete eas build logs-
Running "yarn install" in /home/expo/workingdir/build directory
yarn install v1.22.21
info No lockfile found.
[1/4] Resolving packages...
warning @babel/plugin-proposal-export-namespace-from@7.18.9: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-export-namespace-from instead.
warning @expo/config-plugins > glob@7.1.6: Glob versions prior to v9 are no longer supported
warning @expo/config-plugins > glob > inflight@1.0.6: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.
warning expo > @expo/config > glob@7.1.6: Glob versions prior to v9 are no longer supported
warning expo > @expo/cli > glob@7.2.3: Glob versions prior to v9 are no longer supported
warning expo > @expo/cli > glob > inflight@1.0.6: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.
warning expo > @expo/metro-config > glob@7.2.3: Glob versions prior to v9 are no longer supported
warning expo > @expo/config > sucrase > glob@7.1.6: Glob versions prior to v9 are no longer supported
warning expo > @expo/cli > npm-package-arg > osenv@0.1.5: This package is no longer supported.
warning expo > babel-preset-expo > @react-native/babel-preset > @babel/plugin-proposal-class-properties@7.18.6: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-class-properties instead.
warning expo > babel-preset-expo > @react-native/babel-preset > @babel/plugin-proposal-numeric-separator@7.18.6: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-numeric-separator instead.
warning expo > babel-preset-expo > @react-native/babel-preset > @babel/plugin-proposal-optional-chaining@7.21.0: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-optional-chaining instead.
warning expo > babel-preset-expo > @react-native/babel-preset > @babel/plugin-proposal-object-rest-spread@7.20.7: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-object-rest-spread instead.
warning expo > babel-preset-expo > @react-native/babel-preset > @babel/plugin-proposal-optional-catch-binding@7.18.6: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-optional-catch-binding instead.
warning expo > babel-preset-expo > @react-native/babel-preset > @babel/plugin-proposal-async-generator-functions@7.20.7: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-async-generator-functions instead.
warning expo > babel-preset-expo > @react-native/babel-preset > @babel/plugin-proposal-nullish-coalescing-operator@7.18.6: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-nullish-coalescing-operator instead.
warning expo > babel-preset-expo > @react-native/babel-preset > @babel/plugin-proposal-logical-assignment-operators@7.20.7: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-logical-assignment-operators instead.
warning expo > @expo/cli > tempy > del > rimraf@3.0.2: Rimraf versions prior to v4 are no longer supported
warning expo > @expo/cli > @react-native/dev-middleware > @rnx-kit/chromium-edge-launcher > rimraf@3.0.2: Rimraf versions prior to v4 are no longer supported
warning expo > @expo/cli > tempy > del > rimraf > glob@7.2.3: Glob versions prior to v9 are no longer supported
warning expo > babel-preset-expo > @react-native/babel-preset > @react-native/babel-plugin-codegen > @react-native/codegen > glob@7.2.3: Glob versions prior to v9 are no longer supported
warning expo > babel-preset-expo > @react-native/babel-preset > @react-native/babel-plugin-codegen > @react-native/codegen > jscodeshift > @babel/plugin-proposal-class-properties@7.18.6: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-class-properties instead.
warning expo > babel-preset-expo > @react-native/babel-preset > @react-native/babel-plugin-codegen > @react-native/codegen > jscodeshift > @babel/plugin-proposal-optional-chaining@7.21.0: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-optional-chaining instead.
warning expo > babel-preset-expo > @react-native/babel-preset > @react-native/babel-plugin-codegen > @react-native/codegen > jscodeshift > @babel/plugin-proposal-nullish-coalescing-operator@7.18.6: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-nullish-coalescing-operator instead.
warning expo > babel-preset-expo > @react-native/babel-preset > @react-native/babel-plugin-codegen > @react-native/codegen > jscodeshift > temp > rimraf@2.6.3: Rimraf versions prior to v4 are no longer supported
warning expo > babel-preset-expo > @react-native/babel-preset > @react-native/babel-plugin-codegen > @react-native/codegen > jscodeshift > temp > rimraf > glob@7.2.3: Glob versions prior to v9 are no longer supported
warning react-native > @react-native/community-cli-plugin > querystring@0.2.1: The querystring API is considered Legacy. new code should use the URLSearchParams API instead.
warning metro-react-native-babel-preset > @babel/plugin-proposal-async-generator-functions@7.20.7: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-async-generator-functions instead.
warning metro-react-native-babel-preset > @babel/plugin-proposal-class-properties@7.18.6: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-class-properties instead.
warning metro-react-native-babel-preset > @babel/plugin-proposal-nullish-coalescing-operator@7.18.6: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-nullish-coalescing-operator instead.
warning metro-react-native-babel-preset > @babel/plugin-proposal-numeric-separator@7.18.6: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-numeric-separator instead.
warning metro-react-native-babel-preset > @babel/plugin-proposal-object-rest-spread@7.20.7: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-object-rest-spread instead.
warning metro-react-native-babel-preset > @babel/plugin-proposal-optional-catch-binding@7.18.6: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-optional-catch-binding instead.
warning metro-react-native-babel-preset > @babel/plugin-proposal-optional-chaining@7.21.0: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-optional-chaining instead.
warning patch-package > rimraf@2.7.1: Rimraf versions prior to v4 are no longer supported
warning patch-package > rimraf > glob@7.2.3: Glob versions prior to v9 are no longer supported
[2/4] Fetching packages...
[3/4] Linking dependencies...
warning "react-native > @react-native/codegen@0.74.87" has unmet peer dependency "@babel/preset-env@^7.1.6".
warning "expo > babel-preset-expo > @react-native/babel-preset > @react-native/babel-plugin-codegen > @react-native/codegen > jscodeshift@0.14.0" has unmet peer dependency "@babel/preset-env@^7.1.6".
warning "expo-splash-screen > @expo/prebuild-config@7.0.8" has unmet peer dependency "expo-modules-autolinking@>=0.8.1".
warning " > react-native-flash-message@0.2.1" has unmet peer dependency "prop-types@^15.0 || ^16.0".
warning "react-native-phone-number-input > react-native-country-picker-modal > @callstack/react-theme-provider@3.0.3" has incorrect peer dependency "react@^16.3.0".
warning "react-native-phone-number-input > react-native-country-picker-modal > modal-react-native-web@0.2.0" has incorrect peer dependency "react@16.x.x".
warning "react-native-phone-number-input > react-native-country-picker-modal > modal-react-native-web@0.2.0" has unmet peer dependency "react-art@16.x.x".
warning "react-native-phone-number-input > react-native-country-picker-modal > modal-react-native-web@0.2.0" has incorrect peer dependency "react-dom@16.x.x".
warning "react-native-phone-number-input > react-native-country-picker-modal > modal-react-native-web@0.2.0" has incorrect peer dependency "react-native-web@0.9.x".
warning "react-native-render-html > @native-html/transient-render-engine@11.2.3" has unmet peer dependency "@types/react-native@*".
warning "react-native-render-html > @native-html/transient-render-engine > @native-html/css-processor@1.11.0" has unmet peer dependency "@types/react-native@*".
warning " > react-simple-form-validator@0.3.1" has unmet peer dependency "dayjs@>=1.10.7".
[4/4] Building fresh packages...
error /home/expo/workingdir/build/node_modules/babel-plugin-react-compiler: Command failed.
Exit code: 127
Command: ./scripts/link-react-compiler-runtime.sh
Arguments:
Directory: /home/expo/workingdir/build/node_modules/babel-plugin-react-compiler
Output:
/bin/sh: 1: ./scripts/link-react-compiler-runtime.sh: not found
info Visit https://yarnpkg.com/en/docs/cli/install for documentation about this command.
I'm having the same issue with same code that worked yesterday. Seems like it has to do with the update mentioned.
There seems to be a workaround if you have a yarn.lock file. https://github.com/facebook/react/issues/31150#issuecomment-2399192691
I cannot try the fix since i removed my lock file in troubleshooting.
Edit; I managed to get it working by adding
"resolutions": {
"**/babel-plugin-react-compiler": "0.0.0-experimental-ca8e0be-20240916"
},
to my package.json, removing node-modules and running yarn install.