I looked at the numerous posts on here regarding this issue and tried them but had no success resolving this.
I am on MacOS and here is what I have done so far based on recommendations I have found here but I still get this error
~~ sudo npm uninstall -g angular-cli
~~ sudo npm uninstall -g @angular/cli
~~ sudo npm cache clean --force
~~ sudo npm install -g @angular/cli
This outputs:
/usr/local/Cellar/node/11.10.0/bin/ng -> /usr/local/Cellar/node/11.10.0/lib/node_modules/@angular/cli/bin/ng
> @angular/cli@8.3.6 postinstall /usr/local/Cellar/node/11.10.0/lib/node_modules/@angular/cli
> node ./bin/postinstall/script.js
+ @angular/cli@8.3.6
added 245 packages from 185 contributors in 8.784s
However, issuing command below does not work:
~~ ng version
-bash: ng: command not found
Some people suggesting linking so I tried that as well:
~~ sudo npm link @angular/cli
, which outputs following:
/Users/dinob/node_modules/@angular/cli -> /usr/local/Cellar/node/11.10.0/lib/node_modules/@angular/cli
, but ng version is still not working:
~~ ng version
-bash: ng: command not found
Many posts suggest that there should be a directory .npm-global
created under my /Users/dinob directory but I dont see it. I aonly see .npm
directory, not .npm-global
.
I also tried following:
uninstall angular as described above
brew update
brew upgrade node // this upgraded from 11.10.0 to 12.10.0
then repeat steps above to install angular/cli
still same problem, ng command not found
This is not a duplicate question as KenWhite suggests and I have reviewed all the posts on SO I could find (and more) regarding this issue, tried them and none of them solved the issue for me.
sudo npm install -g @angular/cli command completed and returned following paths but none of them @angular directory in them:
/usr/local/Cellar/node/11.10.0/bin/ng -> /usr/local/Cellar/node/11.10.0/lib/node_modules/@angular/cli/bin/ng
Above, there is no bin folder:
dinob @ /usr/local/Cellar/node/11.10.0
~~ ls -la
total 80
drwxr-xr-x 8 dinob staff 256 2 Oct 11:30 ./
drwxr-xr-x 5 dinob staff 160 27 Sep 09:29 ../
-rw-r--r--@ 1 dinob staff 8196 2 Oct 11:32 .DS_Store
-rw-r--r-- 1 dinob staff 26696 14 Feb 2019 README.md
drwxr-xr-x 3 dinob staff 96 14 Feb 2019 etc/
drwxr-xr-x 3 dinob staff 96 14 Feb 2019 include/
drwxr-xr-x 5 dinob staff 160 2 Oct 11:22 lib/
drwxr-xr-x 5 dinob staff 160 14 Feb 2019 share/
Same for this location > @angular/cli@8.3.6 postinstall /usr/local/Cellar/node/11.10.0/lib/node_modules/@angular/cli
:
dinob @ /usr/local/Cellar/node/11.10.0/lib/node_modules
~~ ls -la
total 16
drwxr-xr-x 6 dinob staff 192 2 Oct 11:22 ./
drwxr-xr-x 5 dinob staff 160 2 Oct 11:22 ../
-rw-r--r--@ 1 dinob staff 6148 2 Oct 11:27 .DS_Store
drwxr-xr-x 7 root staff 224 26 Sep 16:42 n/
drwxr-xr-x 26 dinob staff 832 2 Oct 11:28 npm/
drwxr-xr-x 6 dinob staff 192 15 Jul 16:32 react-native-cli/
After days of googling and getting no help neither on here nor from @Angular github which is pretty much useless, was finally able to resolve the issue and get my angular ng command not found issue resolved following these steps:
1. Instal nvm
Issue these 3 commands to install nvm. (Angular documented steps https://angular.io/guide/setup-local to setup your environment did not work for me).
So I installed nvm like so:
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.0/install.sh | bash
export NVM_DIR="/Users/your-user-name/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"
After this, make sure you restart terminal and you should be able to issue nvm --version
to see version of installed nvm.
2. Install node using nvm
nvm install stable
nvm install node
3. Finally, install angular
npm install -g @angular/cli
4. Restart terminal
Restart terminal and you should be able to use ng version
to see version installed on your system
~~ ng version
_ _ ____ _ ___
/ \ _ __ __ _ _ _| | __ _ _ __ / ___| | |_ _|
/ △ \ | '_ \ / _` | | | | |/ _` | '__| | | | | | |
/ ___ \| | | | (_| | |_| | | (_| | | | |___| |___ | |
/_/ \_\_| |_|\__, |\__,_|_|\__,_|_| \____|_____|___|
|___/
Angular CLI: 8.3.6
Node: 12.11.1
OS: darwin x64
Angular:
...
Package Version
------------------------------------------------------
@angular-devkit/architect 0.803.6
@angular-devkit/core 8.3.6
@angular-devkit/schematics 8.3.6
@schematics/angular 8.3.6
@schematics/update 0.803.6
rxjs 6.4.0
I can now create and start my project
ng new my-test-project
ng serve my-test project
I think SO should start getting serious about people down-voting questions or marking them as duplicates before reading them and even trying to understand what was asked and what the problem is.
It seems to be lots of people read the title and decide the fate of question just based on that and any disagreement ends up in blocking question entirely.
So much bias and hate on a site that is supposed to help.
Better alternatives are very much needed.
UPDATE
If you are like me and switched to use zsh shel instead of bash shell (since Catalina MacOs now uses zsh), you might have noticed that ng version
has stopped working for you.
In that case, modify your .zshrc file by opening it in vim:
vi ~/.zshrc
In there, find this line:
source $ZSH/oh-my-zsh.sh
Underneath this line, add following line:
source /Users/Your-User-Name/.bash_profile
Save the file by hitting Esc key and typing :wq
and hitting Enter
Restart your terminal
Reissue ng version
and you should see it in your zsh shell: