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
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.
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
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.
Now typing ng
in the terminal will display output shown in attached snapshot.
I hope this answer will be helpful.
Adding %AppData%\npm
to the Win path have worked for me.
Source : https://github.com/angular/angular-cli/issues/1183 , the first comment.
First of all, check if your npm and node installed properly
with commands npm version
and node -v
.
If they are proper:
Find the root global Directory of NPM npm root -g
(it will
give you root of your global npm store)
Uninstall old angular cli with npm uninstall -g angular-cli
and npm cache clean
Reinstall new Version of angular npm install -g @angular/cli@latest
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
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:
npm uninstall -g npm
npm install -g angular-cli
HTH
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.
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.
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......
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
I came here because I had the same issue on windows. The thing that baffled me most on this was I have had Node installed since Angular 4 dabbling here and there. And sure enough. That was my problem. I needed to upgrade node.
Just installing the newest version worked fine for me without having to do any of the above steps post the new install
Firstly install '@angular/cli' by using npm as global module
sudo npm install -g @angular/cli
After that try to ping the cli by using 'ng' command from the terminal window.If any problem like
Command 'ng' not found
Then you need to manually setup the
ng
command availability.You set this step by running the following command.
ln -s path-to-your-ng-command /bin
eg:
sudo ln -s /opt/node/lib/node_modules/@angular/cli/bin/ng /bin/
npm ls --global --depth 0
– Brocco