Last updated: Apr 4, 2024
Reading timeยท4 min
To solve the error "ng is not recognized as an internal or external command,
operable program or batch file", install the Angular CLI globally by running
npm install -g @angular/cli@latest
and make sure your PATH environment
variable is set up correctly.
Open your terminal and install the Angular CLI globally by running the following command.
# ๐๏ธ install angular cli globally npm install -g @angular/cli@latest # ๐๏ธ get package version ng version # ๐๏ธ create workspace ng new my-project # ๐๏ธ run the application cd my-project ng serve
If the global installation of Angular
fails, you have to open your shell as an
administrator or run the command prefixed with
sudo.
# ๐๏ธ If you got a permissions error, run with sudo sudo npm install -g @angular/cli@latest ng version ng new my-project cd my-project ng serve
You can link your project to the globally installed Angular package, by opening
your terminal in your project's root directory (where your package.json
file
is) and running the npm link @angular/cli
command.
npm link @angular/cli
The npm link command creates
a symbolic link from the globally installed package to the node_modules/
directory of the current folder.
If that doesn't help, run the following command.
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.
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:
env
and then click "Edit the system
environment variables"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 get the error "ng 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.
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
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 are on macOS
, you can update your path with the following command:
# 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.
# ๐๏ธ make sure to update the path with the output # from the command export PATH="/usr/local/share/npm/bin:$PATH"
If that doesn't help try to reinstall Node.js on your
machine and then install the Angular CLI globally by running
npm install -g @angular/cli@latest
.
# ๐๏ธ install angular cli globally npm install -g @angular/cli@latest # ๐๏ธ get package version ng version # ๐๏ธ create workspace ng new my-project # ๐๏ธ run the application cd my-project ng serve
Angular
fails, you have to open your shell as an administrator or run the command prefixed with sudo
.# ๐๏ธ If you got a permissions error, run with sudo sudo npm install -g @angular/cli@latest ng version ng new my-project cd my-project ng serve
Alternatively, you can see how you can fix the permissions error on this page in the official npm docs.
You can learn more about the related topics by checking out the following tutorials: