'Metro Builder: SyntaxError: Unexpected token = after upgrading to React Native 0.65.1

Today I updated to React Native Version 0.65.1. After that I was unable to Start the Metro Server

I am now receiving following error message while building a Release .apk:

    node_modules/metro/src/Server.js:350
  processRequest = (req, res, next) => {
                 ^

SyntaxError: Unexpected token =
    at new Script (vm.js:80:7)
    at createScript (vm.js:274:10)
    at Object.runInThisContext (vm.js:326:10)
    at Module._compile (internal/modules/cjs/loader.js:664:28)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:712:10)
    at Module.load (internal/modules/cjs/loader.js:600:32)
    at tryModuleLoad (internal/modules/cjs/loader.js:539:12)
    at Function.Module._load (internal/modules/cjs/loader.js:531:3)
    at Module.require (internal/modules/cjs/loader.js:637:17)
    at require (internal/modules/cjs/helpers.js:22:18)
info Run CLI with --verbose flag for more details.

> Task :app:bundleReleaseJsAndAssets FAILED

I've tried:

  • Updating Node
  • Cleaning Project
  • Restarting Computer

This is the snippet from the Metro Server Node Module

processRequest = (req, res, next) => {
    this._processRequest(req, res, next).catch(next);
  };

Additional Information: I am using a MacBook Pro with macOS Big Sur 11.5.2

Thanks everyone



Solution 1:[1]

Just my two cents: I had the same problem. My problem was due to NVM. I used node version 14 for the current project but my default version was node 10. And metro server opened in a new terminal that didn't use the current node but the default one. Fixed it by setting node version to 14.

Fix: nvm alias default v14.17.0

Solution 2:[2]

I have used react native 0.66 after i downgraded into 0.64, this worked for me.

  1. downgrade react into 0.64.0
  2. clear node cache & gradle clean
  3. npm install

Solution 3:[3]

I have a new React Native project on v0.66 and have encountered this but was able to fix it without downgrading.

So, I use nvm to manage my node versions and I'm on v16.13.0 currently, which should be ok, but it seems I also had node and yarn installed through brew. The node version in brew was v13.10.1.

To fix this:

  1. Uninstall node and yarn from brew

brew uninstall yarn

brew uninstall node

  1. Reinstall yarn globally through npm

npm install --global yarn

and it works ? hopefully this helps someone else

Solution 4:[4]

I am also using React Native latest version

"react": "17.0.2", "react-native": "0.66.2"

The problem in my system was the node version i was using node@10 and just using nvm i used default node version as node@14, which worked for me.

nvm use 14

Solution 5:[5]

For iOS only open xcode under "Build Phase" -> "Bundle React Native code and images" modify NODE_BINARY to absolute path of your nvm setting.

export NODE_BINARY=node
...

Find current absolute path of nvm node version using:

nvm use <your_version_here>
which node

Solution 6:[6]

I had the same problem with a new project with react 17 and react native 0.68, the fix for me was updating npm using this command:

npm install -g npm@latest

And updating nodejs from the official page (just downloading and installing the LTS version).

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 Mario
Solution 2 Dharman
Solution 3 Neilc
Solution 4 Nishant Patel
Solution 5 Mat0
Solution 6 cesarmart