289
votes

Running windows 7 Professional 32bit.

I tried running npm install -g angular-cli both under normal or admin. 2016-06-23_14h46_40

I also tried adding it to the Enviorment Variables under PATH: (C:\Users\Administrator\AppData\Roaming\npm\node_modules\angular-cli\bin\ng) , with no success also.
2016-06-23_14h56_48

What am i doing wrong?

30
Surely you want the directory (C:\Users\Administrator\AppData\Roaming\npm\node_modules\angular-cli\bin) in %PATH%?Biffen
I'm not sure. I tried it just to see if 'ng' works, but it doesn't.Cristian Muscalu
Did you open a new command prompt? Environment variables won't be propagated to running ones. Try echo %PATH% to see that it's correct.Biffen
Well, check that %PATH% contains (it's a semicolon-separated list) the directory that contains ng.exe.Biffen
i found the solution for that problem stackoverflow.com/a/46874999/7968316Rixwan

30 Answers

347
votes

I solved this problem in accordance with the figure:

run in cmd

 npm install -g @angular/cli

and then

( open in Windows 10) Control Panel\All Control Panel Items\System or accordance with the figure

step 1:

enter image description here

step 2 :

enter image description here

step3:

enter image description here

step4:

enter image description here

step5: add missing ng path

enter image description here

Finally, restart all opened command prompts and try again.

283
votes

For me it works with:

npm run ng <command>
127
votes

Adding C:\Users\DELL\AppData\Roaming\npm to System Variable Path worked for me. Please find your appropriate file path to 'npm'

Also, check if you have added your angular-cli\bin path to the path variable.

76
votes

I am using WIN 10, just figure it out for this problem. Type the code below in cmd:

npm config get prefix

and copy&paste the path that you get it from the top into your computer environment variables-->user variables box --> path --> edit -- C:\Program Files\nodejs\node_global, your path may different.

Click Ok and reopen your cmd window, type in ng version, then it works! Cheers!

47
votes

Just open your command prompt (run as administrator). Ensure node --v is 6.9.0 or higher and npm --v is 3.0.0 r higher.

After that run the following command:

npm install -g @angular/cli

Once angular is installed. you can see an entry of angular cli in the path

C:\Users\Dell\AppData\Roaming\npm\node_modules\@angular

Then try ng help. It will work.

40
votes

1) Enter below command on command prompt

npm install -g @angular/cli

2) Make sure that C:\Users\_username_\AppData\Roaming\npm this path is not hidden.

3) Add C:\Users\_username_\AppData\Roaming\npm and

C:\Users\_username_\AppData\Roaming\npm \node_modules@angular\cli\bin to both enviroment variable path.

4) Open new command prompt and type ng help. It will work.

20
votes

With a command

npm install -g @angular/cli@latest

It works fine, I am able to run ng command now.

19
votes

I followed below steps for resolution for this issue in Windows 10:

  1. First make sure you have installed Angular CLI . You can use below to install same.

npm install -g @angular/cli@latest

  1. Make sure that AppData is visible and navigate to path below.

C:\Users\rkota\AppData\Roaming\npm

Same path can be found by running below too:

npm config get prefix

  1. Add the above path i.e. " C:\Users\rkota\AppData\Roaming\npm" in Environment variable PATH and make sure it got added by running path in command prompt.
  2. Close command prompt and now try to run below:

ng --version

you will be able to see CLI version.

17
votes

I solved it few days ago, after having the same problem with other global modules, by adding to:

Environment Tables -> System variables -> Path:

C:\Users\Administrator\AppData\Roaming\npm\node_modules\angular-cli\bin;C:\Program Files\MongoDB\Server\3.2\bin

Note that it must not have any spaces after ;

That turned out to be my problem.

12
votes

Instead of using the in-built command prompt better start using the NodeJS installed version of command prompt. Then it is going to work perfectly without any issues.enter image description here

11
votes

execute following lines in order to solve the issue for both not found and undefined version of ng

npm uninstall -g angular-cli

npm uninstall --save-dev angular-cli

npm cache clean

npm install -g @angular/cli@latest

10
votes

If you get the error even after following the above step. then try below.

Since it is a node script. I am using the below option to create as of now.

node C:\Users\Administrator\AppData\Roaming\npm\node_modules\angular-cli\bin\ng version

May be symbolic links are required. Not researched further.

On Further Research: Set Path as : %PATH%;C:\Users\Administrator\AppData\Roaming\npm;

In Windows, npm.cmd file is in the above path. If the above Environment variable is set, you can execute as ng version ng init

7
votes
  1. Open cmd and type npm install -g @angular/cli

  2. In environment variables, add either in the user variable or System variable "Path" value=C:\Users\your-user\.npm-packages\node_modules\.bin

  3. In cmd: c:\>cd your-new-project-path

  4. ...\project-path\> ng new my-app

    or ng all-ng-commands

6
votes

close cmd and open it again with admin right or reboot ur system.

6
votes

I faced same issue when i tried to install angular cli locally with command

npm install @angular/cli@latest

After that i got same issue C:\Users\vi1kumar\Desktop\tus\ANGULAR\AngularForms>ng -v 'ng' is not recognized as an internal or external command, operable program or batch file

Than i tried to install it globally

npm install -g @angular/cli@latest

In this case it worked I was wondering that is it not possible to install cli globally ?

After doing some research I found this article very helpful hope it will help someone facing similar issue

Working with multiple versions of Angular CLI

5
votes

1- Install

$ npm install -g @angular/cli

2- Make sure where your ng.cmd is present.

enter image description here

3- Then add this path into variables.

enter image description here

5
votes

I resolved by adding - %AppData%\npm\node_modules@angular\cli\bin\ path to my environment variables path

4
votes

This one almost worked for me, but I had to use: %USERPROFILE%\AppData\Roaming\npm . In Environment Variables.../System variables/Path

Then when I did CMD: "ng -v" I got the correct response for angular cli.

4
votes

npm install -g @angular/cli helped for me instead of npm install @angular/cli

4
votes

General problem is that OS tries to find the PATH variable with ng keyword and cannot find it. For me, even after the steps @behrouzmoslem suggested in the top answers to this post I didn't manage to get it work, because after the launch of ng command OS started to respond, but opens up editor file by the path C:\Users\{username}\AppData\Roaming\npm\node_modules\@angular\cli\bin\ng which is actually funny. So, solution is:

Just use npx before any angular executables.

Eg : npx ng serve for serving the angular app or npx ng build --watch to build with watcher.

3
votes

I had the same problem on Windows 7, 64 bits running with npm v3.10.8.

  1. I added the path as it was suggested: ( C:\Users.....(your user name)\AppData\Roaming\npm\node_modules\angular-cli\bin\ng) and uninstalled angular-cli.
  2. After this, I cleared the npm cache by npm cache clean as prompted here https://blogs.msdn.microsoft.com/matt-harrington/2012/02/23/how-to-fix-node-js-npm-permission-problems/. This guarantees there are no leftovers.
  3. Reinstalled angular-cli with npm install -g angular-cliand voila.

    Hope that may be useful!
3
votes

In my case I did below steps.

All Programs -> Node JS-> Right click on Node.js Command Prompt and select properties and from Target string at end copy below

/k "C:\Program Files\nodejs\nodevars.bat"

I launched Visual Studio Code and opened below file

C:\Users\gochinta\AppData\Roaming\Code\User\settings.json and gave below

// Place your settings in this file to overwrite the default settings
{
  "terminal.integrated.shellArgs.windows": 
  ["/k", "C:\\Program Files\\nodejs\\nodevars.bat"]

}

Now I typed ng -v in my Visual Studio Code Terminal window and it worked.

3
votes

I was having the same issue when tried with the syntax "ng new " and solved that simply by updating the existing node version from 5.x.x to 8.x.x. After successful updation of node, the syntax worked perfectly for me. Please update the existing version of node. As it is clearly mentioned in angular documentation that these commands require the node version >= 6.9.x. For reference please check https://angular.io/guide/quickstart. It clearly states "Verify that you are running at least node 6.9.x and npm 3.x.x by running node -v and npm -v in a terminal/console window. Older versions produce errors, but newer versions are fine".

3
votes

I faced same issue on x86, windows 7;

  • uninstalled @angular/cli
  • re-installed @angular/cli
  • checked & verified environmental variables (no problems there)...
  • Still same issue:

Solution was the .npmrc file at C:\Users{USERNAME}... change the prefix so that it reads "prefix=${APPDATA}\npm"... Thanks to this website for help in resolving it

2
votes

I am facing same issue and it's get resolved. At my end reason is i install node and CLI using other user profile and now i am running ng command from other user login. Since node and cli installed using other user login node is not finding anything on C:\Users\&lt;user name&gt;\AppData\Roaming this path and that's why i am getting this error.

I run npm install -g @angular/cli command and restart my machine. Every thing is working fine.

2
votes

For me something was wrong in the PATH enviroment variable. I removed all path related to npm and added at the start of PATH this folder:

c:\Users\<your-user-name>\AppData\Roaming\npm\

Make sure you have ; between paths.

2
votes

Sometime in the future. Applicable to Windows 8.1 machine. Run the following commands

npm install -g @angular/cli

Log out or restart your machine.

This should add the required env path, rather than doing it manually.

2
votes

I also tried to play with cmd by setting environment variable path & etc, but simple answer is use nodejs command prompt.

So you no need to set environment variable path or anything. When you insalled nodejs it will give it's command prompt, by using that you us "ng" command, without any settings.

2
votes

Since this question is still asked over and over again one year later I will post my answer here as well.

The clue (on Windows only) is to arrange the entries in the path variable right.

As the NPM wiki tells us:

Because the installer puts C:\Program Files (x86)\nodejs before C:\Users\\AppData\Roaming\npm on your PATH, it will always use version of npm installed with node instead of the version of npm you installed using npm -g install npm@<version>.

So your path variable will look something like:

…;C:\<path-to-node-installation>;%appdata%\npm;…

Now you have two possibilities:

  1. Swap the two entries so it will look like
…;%appdata%\npm;C:\<path-to-node-installation>;…

This will load the npm version installed with npm (and not with node) and with the installed Angular CLI version.

  1. If you (for whatever reason) like to use the npm version bundled with node, add the direct path to your global Angualr CLI version. After this your path variable should look like this: …;C:\Users\<username>\AppData\Roaming\npm\node_modules\@angular\cli;C:\<path-to-node-installation>;%appdata%\npm;… or …;%appdata%\npm\node_modules\@angular\cli;C:\<path-to-node-installation>;%appdata%\npm;… for the short form.

This worked for me since a while now.

1
votes

I had the same issue of Visual Studio Code not being able to run any ng commands in it's built in terminal.

I added %AppData%\npm to the path in Windows 10, and did not have to reboot, just closed and reopened VS Code and not it sees it.