Error in Module. createRequire Is Not a Function

I tried to create react app with node version 12.1.0 but it warned me that my minimum node version should be at least 14.0. I used nvm to change my node version to 14.0 and created react app. However, I want to use my app on node version 12.1.0. So I changed to node version v12.1.0 but I got:

"ERROR in Module.createRequire is not a function" error. Also " ERROR in Error: Child compilation failed: Module.createRequire is not a function "

3

6 Answers

As we can read in official docs:

Create React App

Create React App is a comfortable environment for learning React, and is the best way to start building a new single-page application in React.

It sets up your development environment so that you can use the latest JavaScript features, provides a nice developer experience, and optimizes your app for production. You’ll need to have Node >= 14.0.0 and npm >= 5.6 on your machine.

So these are requirements that you must meet and it seems that it cannot be avoided that way .

1

Use 14+ of node.js version just use nvm -version_name

I got this error with an app created with create-react-app v5.0.0, when I was using node v16 (via nvm). Downgrading the project to node 14.18.12 fixed the issue for me (I also deleted node_modules and ran npm install again).

1

Try completely updating the newest, stable version of both nodejs and npm:

sudo apt -y update && sudo apt -y upgrade

curl -fsSL  | sudo -E bash -
sudo apt-get install -y nodejs

sudo apt -y update && sudo apt -y upgrade
sudo apt -y autoremove

Then, change directories into your app directory:

cd myapp/ #Change this to match your app directory

Remove node_modules folder

sudo rm -rf node_modules/

Then reinstall the packages:

npm i

See if your app builds successfully:

npm run build
1

I encountered this while using Eslint. Upon running, npm run lint, the error appeared. I have various Node versions on my dev machine and I noticed that I had run the command using v10.

When I switched to v16, the command worked.

Cause of the error:

Using incompatible Node versions.

Solution

Change Node.js versions (I use Node Version Manager - nvm to do this).

You can try

curl -fsSL | sudo -E bash -

sudo apt-get install -y nodejs

James H. Sterling

James H. Sterling

Environmental Science & Climate Journalist

James Sterling reports on renewable energy developments, climate policy, ecological conservation, and green tech innovations around the globe.

Share this article