[Pkg-javascript-devel] Nodejs 20.19.4 for react-native

toni.beier at hrz.tu-chemnitz.de toni.beier at hrz.tu-chemnitz.de
Thu Nov 20 14:58:49 GMT 2025


Dear Jérémy,
Our app now uses React Native version 0.81.5 and Expo version 54.0.25.

When installing the dependencies with yarn, two error messages are 
displayed:

error @react-native/dev-middleware at 0.81.5: The engine ‘node’ is 
incompatible with this module. Expected version ‘>= 20.19.4’. Got ‘20.19.2’
and
error metro at 0.83.2: The engine ‘node’ is incompatible with this module. 
Expected version ‘>=20.19.4’. Got ‘20.19.2’

npm install also displaying warnings:

npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE   package: 'react-native at 0.81.5',
npm WARN EBADENGINE   required: { node: '>= 20.19.4' },
npm WARN EBADENGINE   current: { node: 'v20.19.2', npm: '9.2.0' }
npm WARN EBADENGINE }
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE   package: 'metro at 0.83.2',
npm WARN EBADENGINE   required: { node: '>=20.19.4' },
npm WARN EBADENGINE   current: { node: 'v20.19.2', npm: '9.2.0' }
npm WARN EBADENGINE }
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE   package: 'metro-babel-transformer at 0.83.2',
npm WARN EBADENGINE   required: { node: '>=20.19.4' },
npm WARN EBADENGINE   current: { node: 'v20.19.2', npm: '9.2.0' }
npm WARN EBADENGINE }
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE   package: 'metro-cache at 0.83.2',
npm WARN EBADENGINE   required: { node: '>=20.19.4' },
npm WARN EBADENGINE   current: { node: 'v20.19.2', npm: '9.2.0' }
npm WARN EBADENGINE }
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE   package: 'metro-cache-key at 0.83.2',
npm WARN EBADENGINE   required: { node: '>=20.19.4' },
npm WARN EBADENGINE   current: { node: 'v20.19.2', npm: '9.2.0' }
npm WARN EBADENGINE }
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE   package: 'metro-config at 0.83.2',
npm WARN EBADENGINE   required: { node: '>=20.19.4' },
npm WARN EBADENGINE   current: { node: 'v20.19.2', npm: '9.2.0' }
npm WARN EBADENGINE }
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE   package: 'metro-core at 0.83.2',
npm WARN EBADENGINE   required: { node: '>=20.19.4' },
npm WARN EBADENGINE   current: { node: 'v20.19.2', npm: '9.2.0' }
npm WARN EBADENGINE }
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE   package: 'metro-file-map at 0.83.2',
npm WARN EBADENGINE   required: { node: '>=20.19.4' },
npm WARN EBADENGINE   current: { node: 'v20.19.2', npm: '9.2.0' }
npm WARN EBADENGINE }
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE   package: 'metro-resolver at 0.83.2',
npm WARN EBADENGINE   required: { node: '>=20.19.4' },
npm WARN EBADENGINE   current: { node: 'v20.19.2', npm: '9.2.0' }
npm WARN EBADENGINE }
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE   package: 'metro-runtime at 0.83.2',
npm WARN EBADENGINE   required: { node: '>=20.19.4' },
npm WARN EBADENGINE   current: { node: 'v20.19.2', npm: '9.2.0' }
npm WARN EBADENGINE }
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE   package: 'metro-source-map at 0.83.2',
npm WARN EBADENGINE   required: { node: '>=20.19.4' },
npm WARN EBADENGINE   current: { node: 'v20.19.2', npm: '9.2.0' }
npm WARN EBADENGINE }
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE   package: 'metro-transform-plugins at 0.83.2',
npm WARN EBADENGINE   required: { node: '>=20.19.4' },
npm WARN EBADENGINE   current: { node: 'v20.19.2', npm: '9.2.0' }
npm WARN EBADENGINE }
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE   package: 'metro-transform-worker at 0.83.2',
npm WARN EBADENGINE   required: { node: '>=20.19.4' },
npm WARN EBADENGINE   current: { node: 'v20.19.2', npm: '9.2.0' }
npm WARN EBADENGINE }
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE   package: '@react-native/babel-preset at 0.81.5',
npm WARN EBADENGINE   required: { node: '>= 20.19.4' },
npm WARN EBADENGINE   current: { node: 'v20.19.2', npm: '9.2.0' }
npm WARN EBADENGINE }
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE   package: '@react-native/babel-plugin-codegen at 0.81.5',
npm WARN EBADENGINE   required: { node: '>= 20.19.4' },
npm WARN EBADENGINE   current: { node: 'v20.19.2', npm: '9.2.0' }
npm WARN EBADENGINE }
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE   package: '@react-native/codegen at 0.81.5',
npm WARN EBADENGINE   required: { node: '>= 20.19.4' },
npm WARN EBADENGINE   current: { node: 'v20.19.2', npm: '9.2.0' }
npm WARN EBADENGINE }
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE   package: 'metro-symbolicate at 0.83.2',
npm WARN EBADENGINE   required: { node: '>=20.19.4' },
npm WARN EBADENGINE   current: { node: 'v20.19.2', npm: '9.2.0' }
npm WARN EBADENGINE }
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE   package: 'ob1 at 0.83.2',
npm WARN EBADENGINE   required: { node: '>=20.19.4' },
npm WARN EBADENGINE   current: { node: 'v20.19.2', npm: '9.2.0' }
npm WARN EBADENGINE }
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE   package: 'metro-minify-terser at 0.83.2',
npm WARN EBADENGINE   required: { node: '>=20.19.4' },
npm WARN EBADENGINE   current: { node: 'v20.19.2', npm: '9.2.0' }
npm WARN EBADENGINE }
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE   package: '@react-native/assets-registry at 0.81.5',
npm WARN EBADENGINE   required: { node: '>= 20.19.4' },
npm WARN EBADENGINE   current: { node: 'v20.19.2', npm: '9.2.0' }
npm WARN EBADENGINE }
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE   package: '@react-native/community-cli-plugin at 0.81.5',
npm WARN EBADENGINE   required: { node: '>= 20.19.4' },
npm WARN EBADENGINE   current: { node: 'v20.19.2', npm: '9.2.0' }
npm WARN EBADENGINE }
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE   package: '@react-native/gradle-plugin at 0.81.5',
npm WARN EBADENGINE   required: { node: '>= 20.19.4' },
npm WARN EBADENGINE   current: { node: 'v20.19.2', npm: '9.2.0' }
npm WARN EBADENGINE }
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE   package: '@react-native/js-polyfills at 0.81.5',
npm WARN EBADENGINE   required: { node: '>= 20.19.4' },
npm WARN EBADENGINE   current: { node: 'v20.19.2', npm: '9.2.0' }
npm WARN EBADENGINE }
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE   package: '@react-native/virtualized-lists at 0.81.5',
npm WARN EBADENGINE   required: { node: '>= 20.19.4' },
npm WARN EBADENGINE   current: { node: 'v20.19.2', npm: '9.2.0' }
npm WARN EBADENGINE }
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE   package: '@react-native/dev-middleware at 0.81.5',
npm WARN EBADENGINE   required: { node: '>= 20.19.4' },
npm WARN EBADENGINE   current: { node: 'v20.19.2', npm: '9.2.0' }
npm WARN EBADENGINE }
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE   package: '@react-native/debugger-frontend at 0.81.5',
npm WARN EBADENGINE   required: { node: '>= 20.19.4' },
npm WARN EBADENGINE   current: { node: 'v20.19.2', npm: '9.2.0' }
npm WARN EBADENGINE }

I was able to trace this back to the following commits:
* 
https://github.com/facebook/react-native/commit/e247be793c70a374955d798d8cbbc6eba58080ec
* 
https://github.com/facebook/metro/commit/7052e5407e6ed62251767f2a5eafbe9837323bb9

As far as I understand, the React Native team has decided to support 
Nodejs 20 again and arbitrarily set version 20.19.4 as the minimum version.

Kind regards,
Toni Beier

-- 
Toni Beier
Facharbeitsgruppe Anwendungen
Universitätsrechenzentrum

Technische Universität Chemnitz
Straße der Nationen 62 | R. A11.302.3 (alt: 1/B302C)
09111 Chemnitz
Germany

Tel:    +49 371 531-33980

toni.beier at hrz.tu-chemnitz.de
www.tu-chemnitz.de

Am 19.11.25 um 14:03 schrieb Jérémy Lal:
> 
> 
> Le mer. 19 nov. 2025 à 14:00, Toni Beier <toni.beier at hrz.tu-chemnitz.de 
> <mailto:toni.beier at hrz.tu-chemnitz.de>> a écrit :
> 
>     Dear Debian JavaScript Maintainers,
> 
>     Debian (13) is used as the default desktop system in our university
>     computer centre at Chemnitz University of Technology.
> 
>     The in-house student app (OLEA/TUCapp) is developed with react-native
>     and expo. Unfortunately, the current version of expo requires Nodejs
>     version 20.19.4. Debian currently offers version 20.19.2.
> 
>     May I ask you to give all React Native and Expo developers who use
>     Debian a pre-Christmas present and upgrade Nodejs to version 20.19.4 or
>     higher?
> 
> 
> I am a bit surprised about that.
> Do you know what feature i needed in 20.19.4 that isn't available in 
> 20.19.2 ?
> 
> Could you be more precise about the versions of
> "React Native and Expo"
> ?
> 
> Jérémy




More information about the Pkg-javascript-devel mailing list