Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Install for @angular/cli not working on Mac

I'm trying to setup Angular 2 using "npm install @angular/cli -g "

After the install, the only warning I see is the UNMET PEER DEPENDENCY rxjs@^5.0.1, which I then install and reinstall "npm install @angular/cli -g"

No matter what I do, or what version of Node I setup with n, I keep getting the following message when trying to user the "ng" commands:

zsh: command not found: ng

I've been looking around and have not found a solution for this.

Has anyone run into this and have any suggestions?

UPDATE:

It looks like this is not a angular/cli specific issue.

I now see that I get the same message when I try to run "Grunt" and "Ionic" commands on an existing project that was working fine.

zsh: command not found: ionic zsh: command not found: grunt

like image 980
cnak2 Avatar asked Feb 19 '17 03:02

cnak2


1 Answers

Most likely, the directory in which the global modules are installed is not in your $PATH -- and therefore unknown to your shell.

To fix this issue, we can create a new directory for global node_modules, configure npm to use it, and add that directory to your $PATH.

# create a new directory where npm will install packages
$  mkdir ~/.node_modules

# set npm "prefix" config to that directory
$  npm config set prefix '~/.node_modules'

# append a line to your .zshrc instructing it to include that directory in your $PATH, making the executables known to the shell
$ echo 'export PATH=~/.node_modules/bin:$PATH' >> ~/.zshrc

# update current shell with new path (not needed for new sessions)
$ source ~/.zshrc

Then, first reinstall the latest npm (npm i -g npm), followed by the global packages you need (npm i -g @angular/cli).

For more on PATH, see this definition: http://www.linfo.org/path_env_var.html

like image 89
sbolel Avatar answered Sep 24 '22 14:09

sbolel