Module not found: Can't resolve 'react/jsx-runtime'

avatar
Borislav Hadzhiev

Last updated: Apr 6, 2024
4 min

banner

# Table of Contents

  1. Module not found: Can't resolve 'react/jsx-runtime'
  2. Cannot find module 'react/jsx-runtime' or its corresponding type declarations

If you got the error "Cannot find module 'react/jsx-runtime' or its corresponding type declarations", click on the second subheading.

# Module not found: Can't resolve 'react/jsx-runtime'

To solve the error "Module not found: Error: Can't resolve 'react/jsx-runtime'", make sure to update the react package by opening your terminal in your project's root directory and running the command npm install react@latest react-dom@latest and restart your dev server.

Open your terminal in your project's root directory (where your package.json file is located) and run the following commands:

shell
# ๐Ÿ‘‡๏ธ with NPM npm install react@latest react-dom@latest # ๐Ÿ‘‡๏ธ ONLY If you use TypeScript npm install --save-dev @types/react@latest @types/react-dom@latest # ---------------------------------------------- # ๐Ÿ‘‡๏ธ with YARN yarn add react@latest react-dom@latest # ๐Ÿ‘‡๏ธ ONLY If you use TypeScript yarn add @types/react@latest @types/react-dom@latest --dev

install react-and react dom

The command will update the version of your react package.

If you use TypeScript, make sure that the jsx option in your tsconfig.json file is set to react-jsx.
tsconfig.json
{ "compilerOptions": { // ๐Ÿ‘‡๏ธ make sure it's set to react-jsx "jsx": "react-jsx" // ... rest }, // ... rest }

When the jsx option is set to react-jsx, it causes the compiler to emit .js files with the JSX changed to _jsx calls.

Make sure to restart your development server and your IDE if necessary. Your dev server won't pick up the changes until you stop it and re-run the npm start command.

# Delete your node_modules and reinstall your dependencies

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.

shell
# 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.

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.

# Make sure react is in your dependencies object

If you still get the error, open your package.json file and make sure it contains the react package in the dependencies object.

package.json
{ // ... rest "dependencies": { "react": "^18.0.0", "react-dom": "^18.0.0", }, "devDependencies": { "@types/react": "^18.0.5", "@types/react-dom": "^18.0.1", } }

The react 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.

shell
npm install

Or install the latest version of the package:

shell
# ๐Ÿ‘‡๏ธ with NPM npm install react@latest react-dom@latest # ๐Ÿ‘‡๏ธ ONLY If you use TypeScript npm install --save-dev @types/react@latest @types/react-dom@latest # ---------------------------------------------- # ๐Ÿ‘‡๏ธ with YARN yarn add react@latest react-dom@latest # ๐Ÿ‘‡๏ธ ONLY If you use TypeScript yarn add @types/react@latest @types/react-dom@latest --dev

# Cannot find module 'react/jsx-runtime' or its corresponding type declarations

To solve the error "Cannot find module 'react/jsx-runtime' or its corresponding type declarations", make sure to install the typings for react and restart your dev server.

cannot find module react jsx runtime

Open your terminal in your project's root directory (where your package.json file is located) and run the following command:

shell
# ๐Ÿ‘‡๏ธ with NPM npm install --save-dev @types/react@latest @types/react-dom@latest # ๐Ÿ‘‡๏ธ if you also want to update react and react-dom npm install react@latest react-dom@latest # ------------------------------ # ๐Ÿ‘‡๏ธ with YARN yarn add @types/react@latest @types/react-dom@latest --dev # ๐Ÿ‘‡๏ธ if you also want to update react and react-dom yarn add react@latest react-dom@latest

The command will update the versions of your react typings.

Make sure that the jsx option in your tsconfig.json file is set to react-jsx.
tsconfig.json
{ "compilerOptions": { // ๐Ÿ‘‡๏ธ make sure it's set to react-jsx "jsx": "react-jsx" // ... rest }, // ... rest }

When the jsx option is set to react-jsx, it causes the compiler to emit .js files with the JSX changed to _jsx calls.

Make sure to restart your development server and your IDE if necessary. Your dev server won't pick up the changes until you stop it and re-run the npm start command.

# Reinstall your node_modules

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.

shell
# 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.

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.

# Verify the React typings are installed

If you still get the error, open your package.json file and make sure it contains the @types/react package in the devDependencies object.

package.json
{ // ... rest "dependencies": { "react": "^18.0.0", "react-dom": "^18.0.0", }, "devDependencies": { "@types/react": "^18.0.5", "@types/react-dom": "^18.0.1", } }

You can try to manually add the lines and re-run npm install.

shell
npm install

run npm install command

Or install the latest version of the package:

shell
# ๐Ÿ‘‡๏ธ with NPM npm install --save-dev @types/react@latest @types/react-dom@latest # ๐Ÿ‘‡๏ธ if you also want to update react and react-dom npm install react@latest react-dom@latest # ------------------------------ # ๐Ÿ‘‡๏ธ with YARN yarn add @types/react@latest @types/react-dom@latest --dev # ๐Ÿ‘‡๏ธ if you also want to update react and react-dom yarn add react@latest react-dom@latest

install react typings

If the error persists, follow the instructions in my Module not found: Can't resolve 'X' error in React article.

I wrote a book in which I share everything I know about how to become a better, more efficient programmer.
book cover
You can use the search field on my Home Page to filter through all of my articles.

Copyright ยฉ 2024 Borislav Hadzhiev