pm2: command not found error [Solved]

avatar
Borislav Hadzhiev

Last updated: Apr 4, 2024
4 min

banner

# Table of Contents

  1. pm2: command not found error
  2. 'pm2' is not recognized as an internal or external command

# pm2: command not found error

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

command not found pm2

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

shell
# ๐Ÿ‘‡๏ธ use the `npx` prefix npx pm2 start app.js # ๐Ÿ‘‡๏ธ list all running applications npx pm2 list

Alternatively, you can install pm2 globally.

shell
# ๐Ÿ‘‡๏ธ install `pm2` globally npm install -g pm2 pm2 start app.js pm2 list
If the global installation of pm2 fails, you might have to run the command prefixed with sudo.
shell
# ๐Ÿ‘‡๏ธ if you got a permissions error sudo npm install -g pm2 pm2 start app.js pm2 list

For other examples of commands, refer to the official npm page of the pm2 package.

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

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

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

Edit the environment variable on your machine and add the specified path (replacing the placeholder with your username).

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.

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

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 pm2 globally npm install -g pm2 pm2 start app.js pm2 list
If the global installation of pm2 fails, you might have to run the command prefixed with sudo.
shell
# ๐Ÿ‘‡๏ธ if you got a permissions error sudo npm install -g pm2 pm2 start app.js pm2 list

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

# 'pm2' is not recognized as an internal or external command

The error "'pm2' is not recognized as an internal or external command, operable program or batch file" occurs when we use the pm2 module without installing it first. To solve the error, run the npm install pm2 -g command.

pm2 is not recognized as internal or external command

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

cmd
# ๐Ÿ‘‡๏ธ install `pm2` globally npm install -g pm2 pm2 start app.js pm2 list

install pm2

If you get a permissions error when trying to install pm2, run CMD as an administrator and rerun the command.

To open CMD as an administrator:

  1. Click on the Search bar and type CMD.

  2. Right-click on the Command Prompt application and click "Run as administrator".

run cmd as administrator

  1. Rerun the installation command.
cmd
npm install -g pm2 pm2 start app.js pm2 list

Alternatively, you can prefix any pm2 command with npx.

cmd
# ๐Ÿ‘‡๏ธ use the `npx` prefix npx pm2 start app.js # ๐Ÿ‘‡๏ธ list all running applications npx pm2 list

If you get an error that npx is not installed, install it by running the following command.

cmd
# ๐Ÿ‘‡๏ธ for Windows npm install -g npx # ๐Ÿ‘‡๏ธ for macOS or Linux sudo npm install -g npx

install npx

If you get a permissions error when trying to install npx, run CMD as an administrator and rerun the command.

If the error persists, add npm to your PATH environment variable manually.

# Add npm to your PATH environment variable

To add npm to your PATH environment variable:

  1. Click on the Search bar and type "environment variables".
  2. Click on "Edit the system environment variables".

edit system environment variables

  1. Click on the "Environment Variables" button.

click environment variables

  1. In the "System variables" section, select the "Path" variable and click "Edit".

select path and click edit

  1. Click on "New" and then click "Browse".

click new browse

  1. Your npm directory is most likely located under %USERPROFILE%\AppData\Roaming\npm or in other words, C:\Users\YOUR_USER\AppData\Roaming\npm.
location
%USERPROFILE%\AppData\Roaming\npm # ๐Ÿ‘‡๏ธ same as below (make sure to replace YOUR_USER) C:\Users\YOUR_USER\AppData\Roaming\npm

If you can't find it, run the npm config get prefix command.

cmd
npm config get prefix

npm config get prefix

  1. Add the path to npm and click on "OK" twice to confirm.

  2. Close your Command prompt application and then reopen it.

Note that you must restart your Command prompt shell for the changes to take effect.

You might also have to restart your PC, but that's not always necessary.

  1. Try to issue a pm2 command after you've restarted your shell.
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 ยฉ 2025 Borislav Hadzhiev