213

Installed angular-cli globally using (npm install -g angular-cli) but when I'm trying to create project using ng new my-project it is throwing error:

ng: command not found

8
  • what happens when you type ng --help? This was also posted on angular cli repository. check this link Commented May 15, 2016 at 6:02
  • Even when I type ng --help same issue ng: command not found, in issue log there are suggesting to use nvm but I would like to use npm. I tried to correct the path by adding alias in my .profile but already proxy settings are there, so how can I add new path using alias = alias ng="Users/xxxx/npm/lib/node_modules/angular-cli/bin/ng" Commented May 15, 2016 at 7:24
  • 1
    Can you post your os version as well as your npm version Commented May 16, 2016 at 4:16
  • Using Mac os, npm version - 2.14.20 & node version - 4.4.0 Commented May 16, 2016 at 4:29
  • 6
    Can you verify it is intalled via... npm ls --global --depth 0 Commented May 16, 2016 at 19:36

42 Answers 42

331

The issue is simple, npm doesn't know about ng

Just run npm link @angular/cli and it should work seamlessly.

Sign up to request clarification or add additional context in comments.

8 Comments

Can you explain bit more about this?
@PardeepJain: link command basically creates a global link and then links the global installation target into your project’s node_modules folder.
Doesn't work sorry. alias ng="PATH-TO-GLOBAL/.npm-global/bin/ng" ( Location of ng file in npm folder) This did the trick.
This worked. Just had to run with sudo. sudo npm link @angular/cli.
I can confirm that this solution is working. I am using windows and can confirm that this solution did work for me. But i had to do something additionally: Run this in powershell: "Set-ExecutionPolicy Unrestricted". This allows you to run .ps1 (powershell) files.
|
71

First, angular-cli is deprecated and has been replaced with @angular/cli. So if you uninstall your existing angular-cli with npm uninstall angular-cli, then reinstall the package with the new name @angular/cli you might get some conflicts. My story on Windows 7 is:

I had installed angular-cli and reinstalled using npm install -g @angular/cli, but after doing some config changes to command-line tools, I started getting the ng command not found issue. I spent several hours trying to fix this but none of the above issues alone worked. I was able to fix it using these steps:

Install Rapid Environment Editor and remove any PATH entries for node, npm, angular-cli or @angular/cli. Node.js will be in your System path, npm and angular entries are in the User path.

Uninstall node.js and reinstall the current version (for me 6.11.1). Run Rapid Environment Editor again and make sure node.js and npm are in your System or User path. Uninstall any existing ng versions with:

npm uninstall -g angular-cli

npm uninstall -g @angular/cli

npm cache clean

Delete the C:\Users\%YOU%\AppData\Roaming\npm\node_modules\@angular folder.

Reboot, then, finally, run:

npm install -g @angular/cli

Then hold your breath and run:

ng -v

If you're lucky, you'll get some love. Hold your breath henceforward every time you run the ng command, because 'command not found' has magically reappeared for me several times after ng was running fine and I thought the problem was solved.

6 Comments

sudo npm install -g @angular/cli
Sorry but this is not working. I tried all the commands above and I used sudo to issue them. I am on mac OS.
I followed this format and it worked fine for me without the Rapid Environment Editor. In Windows 10 I manually updated the Paths in the Einvronment Variables. I hadn't run Node or Angular in a while as my last project was dotnet core. So I had to reinstall latest of both npm and node, then reset my paths and reboot before angular/cli uninstall step.
if "ng -v" does not work try "ng version". This seems to be the command for version check with cli 14
hey why does at my end in windows terminal ng -v doesn't work but ng v works
|
36

Make sure that the npm directory is in your "Path" variable.

If the module is installed properly, it may work if you start it out of your global node module directory, but your command line tool doesn't know where to find the ng command when you are not in this directory.

For Win system variable add something like:

%USERPROFILE%\AppData\Roaming\npm

And if you use a unix-like terminal (emulator):

PATH=$PATH:[path_to_your_user_profile]/path-to-npm

4 Comments

If you work on multiple projects using different versions of the CLI (so that always running the single global version is not an option), try export PATH=$PATH:node_modules/@angular/cli/bin/ng - it will pick the local version, as long as you run the ng command within the root directory of your Angular (sub)project.
@JanakaBandara how would I add that export command in Win10? Is it ok to add it in the .bash_profile?
Yup, I usually add that to .bashrc
After doing this make sure you uninstall and reinstall any packages that you installed while it was missing. There's a good chance that their installations are corrupted with a lot of missing dependencies. I did a fresh install of node v14.17 and npm and wasn't expecting the node installer to fail to add npm to the path. It added nodejs without a problem. If npm is missing from your path you'll need to reinstall any packages that you installed prior to adding it to the path. That was my problem with the angular cli. I was looking at angular cli as the problem but npm was the real problem
28

the easiest solution is (If you have already installed angular) :

1 remove the ng alias if existing

unalias ng

2 add the correct alias

alias ng="/Users/<user_name>/.npm-global/bin/ng"

3 run ng serve for example and it will work.

3 Comments

there is no .npm-global directory on Mac
@pixel for sure there is an npm-global on mac please reference here for further details flaviocopes.com/npm-packages-local-global
@AchrefGassoumi Thanks but after googling for hours, no location suggesting aliasing to a location would not work. The only way for me to resolve this was do use nvm as I explained in my answer to this question stackoverflow.com/questions/58138138/…
21

This is how I made it worked for me :).

1 - npm link @angular/cli

It will return you the path of cli, which will look like this

/usr/local/Cellar/node/11.3.0_1/lib/node_modules/@angular/cli

For this part, /11.3.0_1 please replace this with your respective node version that can be found by typing node --version

2 - cd ~/

3 - open .bash_profile

In the bash profile create an alias for cli like this,

alias ng="/usr/local/Cellar/node/11.3.0_1/lib/node_modules/@angular/cli/bin/ng"

4 - source ~/.bash_profile

This is how your .bash_profile will look like once you add alias to it.

enter image description here

Now typing ng in the terminal will display output shown in attached snapshot.

enter image description here

I hope this answer will be helpful.

2 Comments

Just npm link @angular/cli was enough for me. Thanks.
Glad it helped you :)
18

For Mac run

npm install -g @angular/cli@latest

then run

alias ng="/usr/local/lib/node_modules/node/lib/node_modules/@angular/cli/bin/ng"

Check if working

ng version

1 Comment

I had to use following alias command:- alias ng="/usr/local/lib/node_modules/@angular/cli/bin/ng"
17

I was facing same issue, I was using git bash terminal, I installed angular cli using this command

npm install -g @angular/cli

but when I try to create new app it was giving me error ng: command not found, I just restarted my pc and it worked, even closing and opening terminal again will also fix issue sometimes

Comments

16

In my case install angular cli

npm install -g @angular/cli@latest

update Nodejs to latest, then all should work fine.

...and if you still have that problem, it maybe because you run the command in shell and not in cmd (you need to run command in cmd), check this out and maybe it helps...

Comments

15

Run below commands:

npm uninstall -g angular-cli

npm uninstall -g @angular/cli

npm cache clean

npm install -g @angular/cli@latest

alias ng="C:/Users/itaas/.npm-global/ng" ( Location of ng file in npm folder)

And finally run :

ng -v 

Ng-v

3 Comments

With angular 7 i guess this has changed to $ng version
While this solves one problem, it creates another. This will always mean that you are running NG from global and never from the application level.
No it's not like that here we are re-defining ng keyword. There is nothing like app level. it's just config file for current user
15

If you have installed angular cli globally but ng isn't working, just do this:

echo -e "export PATH=$(npm prefix -g)/bin:$PATH" >> ~/.bashrc

source ~/.bashrc

ng --version

2 Comments

C:\>echo -e "export PATH=$(npm prefix -g)/bin:$PATH" >> ~/.bashrc The system cannot find the path specified.
This command is only for Unix/Linux users. If you're on Windows, The Angular CLI should be install in administrator mode.
14

I've solved the same issue with adding an alias like:

alias ng="path-to-your-global-node-modules/angular-cli/bin/ng"

1 Comment

This worked fine for me, but every time when I login I had to do it, so I added it in my .bashrc file in this way: "nano ~/.bashrc" and then added following line there: alias ng="/usr/local/lib/node_modules/@angular/cli/bin/ng" I am running ubuntu 14.04 on vagrant
8

Adding %AppData%\npm to the Win path have worked for me.

Source : https://github.com/angular/angular-cli/issues/1183 , the first comment.

Comments

5

Make sure angular-cli is installed before trying to create a project. Windows users can install angular-cli without giving permission to command but MAC users have to use sudo before executing the command as follow:

sudo npm install -g angular-cli

Type a password when asked and press enter to proceed.

Comments

5

Same problem here running Windows 10 x64 / NodeJS 6.9.1 / npm 3.10.9.
After installation of Angular CLI via npm:

'ng' command cannot be found

Do the following:

  1. Uninstalled npm with npm uninstall -g npm
  2. Uninstalled NodeJS via control panel / programs and features
  3. Downloaded and ran 'old' NodeJS installer release 6.5.0 from https://nodejs.org/download/release/v6.5.0/ (node-v6.5.0-x64.msi).
  4. After NodeJS 6.5.0 installation completed, open powershell and npm install -g angular-cli
  5. Grab quick coffee
  6. After installation completed, ng worked OK.

HTH

Comments

5

First of all, check if your npm and node installed properly
with commands npm version and node -v.

If they are proper:

  1. Find the root global Directory of NPM npm root -g (it will give you root of your global npm store)

  2. Uninstall old angular cli with npm uninstall -g angular-cli and npm cache clean

  3. Reinstall new Version of angular npm install -g @angular/cli@latest

  4. make an Alias of Name ng:

alias ng="C:/ProgramData/npm/node_modules/@angular/cli/bin/ng"

alias ng="<ath-to-your-global-node-modules>/<angular cli path till ng>"
(from answered Oct 20 '16 at 15:30 @m.zemlyanoi )

then to check you can type ng -v

Comments

5

For Mac users:

1) Install @angular/cli globally

$ sudo npm install -g @angular/cli
/usr/local/Cellar/node/10.0.0/bin/ng -> /usr/local/Cellar/node/10.0.0/lib/node_modules/@angular/cli/bin/ng

2) Create alias for ng

alias ng="/usr/local/Cellar/node/10.0.0/lib/node_modules/@angular/cli/bin/ng"

Done

Comments

5

try this :

alias ng="~/node_modules/@angular/cli/bin/ng"

Comments

5

For mackBook OS

sudo npm uninstall -g @angular/cli
sudo npm cache verify
sudo npm install -g @angular/cli@latest

try with ng -v if not work then set alias and try

alias ng="/usr/local/Cellar/node/10.0.0/lib/node_modules/@angular/cli/bin/ng"

Comments

3

if you find this error when you are installing angular-cli, -bash: ng: command not found try this it works,

After removing Node from your system

install NVM from here https://github.com/creationix/nvm
Install Node via NVM: nvm install stable
run npm install -g angular-cli

Comments

3

Most likely the problem is that you are using PowerShell and not the command line. If you use Windows PowerShell run:

cmd

then next try:

ng --version

if it works run:

ng new my-project

Comments

2

Do you install the node js package? https://nodejs.org/en/ Regards

Comments

2

According to npm, the angular-cli has been renamed to @angular/cli you can use the following syntax to install it.

npm install -g @angular/cli

Comments

2

running

export PATH=$PATH:/c/Users/myusername/AppData/Roaming/npm 

helped.

Make sure your actual username is in the myusername section

1 Comment

Someone hand this person a medal. Works likes a charm.
2

Maximum time, this is a path issue conflict between npm and angular cli.

The solution that worked for me ->

  1. %USERPROFILE%\AppData\Roaming Paste this in File Explorer and delete npm folder.
  2. npm install -g @angular/cli@latest run this command to reinstall latest angular cli.
  3. npm link @angular/cli now this command can solve your path issue

Literally that three steps will fix your issue, otherwise you need to update environment variable by search and open Edit the system environment variables

Ariful Ahsan https://arifulahsan.com

Comments

2

If you are using asdf-vm you need run adsf reshim nodejs to recreate links with global modules.

In my case this resolve my problem, I hope resolve to you all too.

1 Comment

This worked for asdf.. Also please fix the typo.
2

for me, on Linux:

you can open the .bashrc file from Home then, you will notice the following command right there:

# Load Angular CLI autocompletion.
source <(ng completion script)

comment out the "source" command that you see above by # sign then, save the file.

# source <(ng completion script)

reopen the terminal then, you could use it now.

you can now use the following command instead of ng:

open the working directory where the Angular project is there then, try this command instead:

$ npm start

you can open the package.json file and move to the line where the "scripts" key is, move to "start" key then, you will notice the ng serve that you were like to type then, you can add host and port from your choice like so:

"start": "ng serve --host 0.0.0.0 --port 4200"

Comments

1

soluton for windows operating system only....... first step:

install nodejs version: nodev 8.1.2

second step: set up environment variable like: C:\ProgramFiles\nodejs

Third step: install angular use this command: npm install -g @angular/cli

after installation whereever you have to create project like: ng new first-project......

Comments

1

For me (on MacOSX) I had to do:

nvm install stable
npm install -g angular-cli

This installed ng into:

/usr/local/lib/node_modules/@angular/cli/bin/ng

But npm did not put a link to ng into

/usr/local/bin/

Which was why it was not part of the %PATH and therefore available from the command line except via an absolute address.

So I used the following the create a link to ng:

sudo ln -sf /usr/local/lib/node_modules/\@angular/cli/bin/ng /usr/local/bin/ng

Comments

1

This worked for me:

  1. Go to C:\Users{{users}}\AppData\Roaming and delete the npm folder
  2. Uninstall node and install it again
  3. Run the command to install angular cli

    npm install -g @angular/cli
    

Comments

1

Repairing NodeJS installation on windows resolved it for me.

1 Comment

Yesterday my problem was fixed by doing an npm update, but today THIS fixed my problem today. I wonder what tomorrow's will be. I dont understand why this keeps 'breaking'

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.