Last updated: Apr 6, 2024
Reading timeยท2 min
To solve the error "Module not found: Error: Can't resolve 'react-dom'", make
sure to install the react-dom
package by opening your terminal in your
project's root directory and running the command npm install react-dom react
and restart your development server.
Open your terminal in your project's root directory (where your package.json
file is located) and run the following commands:
# ๐๏ธ with NPM npm install react-dom react # ๐๏ธ ONLY If you use TypeScript npm install --save-dev @types/react-dom @types/react # ---------------------------------------------- # ๐๏ธ with YARN yarn add react-dom react # ๐๏ธ ONLY If you use TypeScript yarn add @types/react-dom @types/react --dev
The command will add the react-dom package to the dependencies of your project.
npm start
command.You should now be able to import and use the react-dom
package in your
React.js app.
import {StrictMode} from 'react'; import {createRoot} from 'react-dom/client'; import App from './App'; // ๐๏ธ IMPORTANT: use the correct ID of your root element // This is the ID of the div in your index.html file const rootElement = document.getElementById('root'); const root = createRoot(rootElement); root.render( <StrictMode> <App /> </StrictMode>, );
If the error is not resolved, try to delete your node_modules
and
package-lock.json (not
package.json
) files, re-run npm install
and restart your IDE.
If you are on macOS or Linux, issue the following commands in bash
or zsh
.
# for macOS and Linux rm -rf node_modules rm -f package-lock.json rm -f yarn.lock # ๐๏ธ clean your npm cache npm cache clean --force # ๐๏ธ install packages npm install
If you are on Windows, issue the following commands in CMD.
# for Windows rd /s /q "node_modules" del package-lock.json del -f yarn.lock # ๐๏ธ clean your npm cache npm cache clean --force # ๐๏ธ install packages npm install
Make sure to restart your IDE and dev server if the error persists. VS Code often glitches and a reboot solves things sometimes.
react-dom
installedIf you still get the error, open your package.json
file and make sure it
contains the react-dom
package in the dependencies
object.
{ // ... rest "dependencies": { "react": "^18.0.0", "react-dom": "^18.0.0", }, // ๐๏ธ Only if you use TypeScript "devDependencies": { "@types/react": "^17.0.43", "@types/react-dom": "^17.0.14", } }
The react-dom
module should NOT be globally installed or be in your project's
devDependencies
. It should be in the dependencies
object in your
package.json
file.
You can try to manually add the lines and re-run npm install
.
npm install
Or install the latest version of the package:
npm install react-dom@latest react@latest # ๐๏ธ ONLY If you use TypeScript npm install --save-dev @types/react-dom@latest @types/react@latest
If the error persists, follow the instructions in my Module not found: Can't resolve 'X' error in React article.