create-react-app: command not found (React) error [Solved]

avatar
Borislav Hadzhiev

Last updated: Jan 19, 2023
6 min

banner

# Table of Contents

  1. create-react-app: command not found
  2. 'create-react-app' is not recognized as an internal or external command

# create-react-app: command not found

Use npx to solve the error "create-react-app: command not found", e.g. npx create-react-app my-app or install the package globally by running npm install -g create-react-app to be able to use the command without the npx prefix.

command not found create react app

The fastest way to solve the error is to use the npx command.

shell
# ๐Ÿ‘‡๏ธ clear the npx cache npx clear-npx-cache # ๐Ÿ‘‡๏ธ for normal React.js project npx create-react-app my-app # ๐Ÿ‘‡๏ธ for TypeScript React.js project npx create-react-app my-app --template typescript

issue npx create react app command

If the error is not resolved, you can force the command to use the latest version of create-react-app.

shell
# ๐Ÿ‘‡๏ธ for normal React.js project npx create-react-app@latest my-app # ๐Ÿ‘‡๏ธ for TypeScript React.js project npx create-react-app@latest my-app --template typescript

The commands above use the latest version of create-react-app to start a new project.

# Installing create-react-app globally

Alternatively, you can install create-react-app globally by running the following command.

shell
# ๐Ÿ‘‡๏ธ install create-react-app globally npm install -g create-react-app@latest # ๐Ÿ‘‡๏ธ for normal React.js project create-react-app my-app # ๐Ÿ‘‡๏ธ for TypeScript React.js project create-react-app my-app --template typescript

install create react app globally

Now you are able to use the create-react-app command without having to prefix it with npx.

If the global installation of create-react-app fails, you might have to run the command prefixed with sudo.
shell
# ๐Ÿ‘‡๏ธ if you got a permissions error sudo npm install -g create-react-app@latest # ๐Ÿ‘‡๏ธ for normal React.js project create-react-app my-app # ๐Ÿ‘‡๏ธ for TypeScript React.js project create-react-app my-app --template typescript

If you are able to run the create-react-app --version command and get the version number of the package, then the installation has succeeded.

If the error is not resolved, try restarting your terminal.

# Update your PATH on macOS or Linux

If that doesn't help, run the following command:

shell
npm config get prefix

The command will show you the path where npm puts your globally installed packages. The global packages will be in the bin directory at the specified path.

Look at the PATH environment variable on your operating system and add the path that the npm config get prefix command outputs if it's not already there.

If you add the output from the command to your PATH environment variable, you have to restart any open command prompts before it takes effect.

If that didn't work, try to add the path to the bin folder (from npm config get prefix) to your PATH environment variable and restart your terminal.

For example, on macOS, you can update your path with the following command:

shell
# make sure path matches with npm config get prefix export PATH=/usr/local/share/npm/bin:$PATH

If you are on Linux, you can add the output from the npm config get prefix command to your .bashrc file.

~/.bashrc
# ๐Ÿ‘‡๏ธ make sure to update the path with the output # from the command export PATH="/usr/local/share/npm/bin:$PATH"
If you add the output from the command to your PATH environment variable, you have to restart any open command prompts before it takes effect.

# Reinstalling Node.js

If that doesn't help try to reinstall Node.js on your machine and then install create-react-app globally by running npm install -g create-react-app@latest.

During the installation, you might get a prompt for whether you want to automatically update the PATH environment variable on your system, make sure to tick the option.
shell
# ๐Ÿ‘‡๏ธ install create-react-app globally npm install -g create-react-app@latest # ๐Ÿ‘‡๏ธ for normal React.js project create-react-app my-app # ๐Ÿ‘‡๏ธ for TypeScript React.js project create-react-app my-app --template typescript
If the global installation of create-react-app fails, you might have to run the command prefixed with sudo.
shell
# ๐Ÿ‘‡๏ธ install create-react-app globally sudo npm install -g create-react-app@latest # ๐Ÿ‘‡๏ธ for normal React.js project create-react-app my-app # ๐Ÿ‘‡๏ธ for TypeScript React.js project create-react-app my-app --template typescript

Alternatively, you can see how you can fix the permissions error on this page in the official npm docs.

# 'create-react-app' is not recognized as an internal or external command

Use npx to solve the error "create-react-app is not recognized as an internal or external command, operable program or batch file", e.g. npx create-react-app my-app or install the package globally by running npm install -g create-react-app.

The fastest way to solve the error is to use the npx command.

shell
# ๐Ÿ‘‡๏ธ clear the npx cache npx clear-npx-cache # ๐Ÿ‘‡๏ธ for normal React.js project npx create-react-app my-app # ๐Ÿ‘‡๏ธ for TypeScript React.js project npx create-react-app my-app --template typescript

If the error is not resolved, you can force the command to use the latest version of create-react-app.

shell
# ๐Ÿ‘‡๏ธ for normal React.js project npx create-react-app@latest my-app # ๐Ÿ‘‡๏ธ for TypeScript React.js project npx create-react-app@latest my-app --template typescript

The commands above use the latest version of create-react-app to start a new project.

# Installing create-react-app globally

Alternatively, you can install create-react-app globally by running the following command.

shell
# ๐Ÿ‘‡๏ธ install create-react-app globally npm install -g create-react-app@latest # ๐Ÿ‘‡๏ธ for normal React.js project create-react-app my-app # ๐Ÿ‘‡๏ธ for TypeScript React.js project create-react-app my-app --template typescript

Now you are able to use the create-react-app command without having to prefix it with npx.

If the global installation of create-react-app fails, you have to open your shell as an administrator or run the command prefixed with sudo.
shell
# ๐Ÿ‘‡๏ธ if you got a permissions error sudo npm install -g create-react-app@latest # ๐Ÿ‘‡๏ธ for normal React.js project create-react-app my-app # ๐Ÿ‘‡๏ธ for TypeScript React.js project create-react-app my-app --template typescript

If you are able to run the create-react-app --version command and get the version number of the package, then the installation has succeeded.

If the error is not resolved, try restarting your terminal.

# Update your PATH on Windows

If that didn't help, run the following command:

shell
npm config get prefix

The command will show you the path where npm puts your globally installed packages. The global packages will be in the bin directory at the specified path.

Look at the PATH environment variable on your operating system and add the path that the npm config get prefix command outputs if it's not already there.

If you add the output from the command to your PATH environment variable, you have to restart any open command prompts before it takes effect.

On Windows, the output of the npm config get prefix command will look something like: C:\Users\Your_User_Name\AppData\Roaming\npm.

To update the PATH on a Windows machine, you have to:

  1. Open the start search and type in env and then click "Edit the system environment variables"
  2. Then click "Environment Variables"
  3. Edit the Path variable and add the output you got from the npm config get prefix command.

The path should look like C:\Users\Your_User_Name\AppData\Roaming\npm (make sure to replace the Your_User_name placeholder with your actual username).

If you add the output from the command to your PATH environment variable, you have to restart any open command prompts before it takes effect.

If you get the error "create-react-app cannot be loaded because running scripts is disabled on this system", open your PowerShell as an administrator and set its execution policy with the Set-ExecutionPolicy command.

shell
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
Make sure to open your PowerShell as an administrator before you run the Set-ExecutionPolicy command.

This effectively removes the execution policy of Restricted, which doesn't allow us to load configuration files or run scripts. The Restricted execution policy is the default for Windows client computers.

If you add the output from the command to your PATH environment variable, you have to restart any open command prompts before it takes effect.

# Reinstalling Node.js

If that doesn't help try to reinstall Node.js on your machine and then install create-react-app globally by running npm install -g create-react-app.

During the installation, you might get a prompt for whether you want to automatically update the PATH environment variable on your system, make sure to tick the option.
shell
# ๐Ÿ‘‡๏ธ install create-react-app globally npm install -g create-react-app@latest # ๐Ÿ‘‡๏ธ for normal React.js project create-react-app my-app # ๐Ÿ‘‡๏ธ for TypeScript React.js project create-react-app my-app --template typescript
If the global installation of create-react-app fails, you might have to open your shell as an administrator or run the command prefixed with sudo.
shell
# ๐Ÿ‘‡๏ธ if you got permissions error sudo npm install -g create-react-app@latest # ๐Ÿ‘‡๏ธ for normal React.js project create-react-app my-app # ๐Ÿ‘‡๏ธ for TypeScript React.js project create-react-app my-app --template typescript

Alternatively, you can see how you can fix the permissions error on this page in the official npm docs.

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