Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Angular CLI ng command not found on Mac Os

Tags:

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/[email protected] postinstall /usr/local/Cellar/node/11.10.0/lib/node_modules/@angular/cli > node ./bin/postinstall/script.js  + @angular/[email protected] 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/[email protected] 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/ 
like image 855
pixel Avatar asked Sep 27 '19 16:09

pixel


People also ask

How do I fix ng command not found?

To solve the error "ng: command not found", install the angular cli package globally by running npm install -g @angular/cli@latest and restart your terminal. If the command fails, run it with sudo and make sure the correct PATH is set in your system's environment variable.

Why is NG not found?

The error “ng command not found” occurs when your system's shell cannot find the path to the ng cli binary. There are three major causes of this error: The ng CLI is not installed. The ng CLI is located in a different directory.

How do you check angular cli is installed or not?

Use the command ng --version (or ng -v ) to find the version of Angular CLI in the current folder. Run it outside of the Angular project, to find out the globally installed version of Angular. Use the npm list --depth 0 to find out the list of packages installed in the current folder.

How do you fix error this command is not available when running the angular cli outside a workspace?

To Fix Error “This command is not available when running the Angular CLI outside a workspace Error”, Do Right-Click on yours project name in VS Code and Click “Open in Integrated Terminal” Option. It would open the project to your terminal and error would be fixed.

How to install angular CLI on macOS?

After installing the Node.js and npm on your system, use the following commands to install the Angular CLI tool on your system globally. npm install -g @angular/cli This command will install the latest available Angular CLI version on your macOS system.

How do I fix NG command not found in angular?

To solve the error "ng: command not found", install the angular cli package globally by running npm install -g @angular/cli@latest and restart your terminal. If the command fails, run it with sudo and make sure the correct PATH is set in your system's environment variable.

How to install angular CLI using NPM?

We will install angular cli using npm. On terminal run the install command shown below On successful installation you should see the output like above (note your angular/cli version may be different by the time you run this install command)

Why can't I install angular on Windows?

Most likely the problem is that you are using PowerShell and not the command line. If you use Windows PowerShell run: second step: set up environment variable like: C:\ProgramFiles odejs 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......


2 Answers

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 

enter image description here

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:

enter image description here

like image 56
pixel Avatar answered Oct 13 '22 19:10

pixel


If all the above methods doesn't work, then install angular-cli with Homebrew.

Run this in your Terminal (ZSH):

brew install angular-cli 

Have a coffee, comeback and run this to test.

ng --version 

Bingo.

like image 39
Arjun Kesava Avatar answered Oct 13 '22 21:10

Arjun Kesava