angular / angular-cli

CLI tool for Angular
https://cli.angular.io
MIT License
26.76k stars 11.98k forks source link

ng: command not found #503

Closed reinos closed 8 years ago

reinos commented 8 years ago

After installing angular-cli with the help of this https://github.com/angular/angular-cli/issues/389#issuecomment-213420501 i installed Angular-cli successfully.

After that i tried a ng command ng --help what gave me the following message. -bash: ng: command not found

Running npm list -g --depth=0 shows me that angular-cli is installed.

ReinosMac:~ reinos$ npm list -g --depth=0
/Users/reinos/.npm/lib
├── angular-cli@0.0.33
├── broccoli-plugin@1.2.0
└── broccoli-source@1.1.0

Running on a Macos.

Am i missing something?

reinos commented 8 years ago

seems to fixed when i add a alias in my bash_profile

alias ng="/Users/reinos/.npm/lib/node_modules/angular-cli/bin/ng"

but that should not be the way to do, right...?

filipesilva commented 8 years ago

Yeah, you shouldn't need to do that really... how odd. That seems like an npm issue though, where npm isn't setting the path correctly or something.

anode7 commented 8 years ago

npm install npm@latest -g should solve the npm-cli problem "NO SUDO"

reinos commented 8 years ago

Removing NODE and using NVM instead fixed a lot of issues.

filipesilva commented 8 years ago

Come to think of it, I'm using NVM myself. Good advice @reinos.

anode7 commented 8 years ago

just missing npm-cli ├── npm@*** in your prefix .npm/lib list

info007 commented 8 years ago

Even when I type ng --help same issue ng: command not found, is there any other alternate rather using nvm because I would like to use npm. I tried to correct the path by adding alias in my .profile but already proxy settings are there, so how can I add new path using alias ng="Users/xxxx/npm/lib/node_modules/angular-cli/bin/ng"

aqkhan commented 8 years ago

Adding alias worked for me but it's weird, this issue.

filipesilva commented 8 years ago

@info007 you shouldn't have to use nvm, no. Don't quite get why the ng command isn't being copied over to the global npm commands overall, it's not special or different from other global npm commands in any way.

cdechery commented 8 years ago

Apparently this is still an issue. Installed angular-cli today, read all the suggestions here. Nothing works. Had to manually add a symlink.

pepogreen commented 8 years ago

I got this error after I change my node from my initial install. I reinstalled using -g works well for me. $npm install -g angular-cli I am using nvm for handling node versions.

Zaggen commented 8 years ago

I'm using nvm on an ubuntu machine, i solved by using alias too, like this alias ng="/root/.nvm/versions/node/v6.3.1/lib/node_modules/angular-cli/bin/ng"

hmuschett commented 8 years ago

hi @Zaggen in windows how to do ? thank u

mcferren commented 8 years ago

same problem for me: ng: command not found

I am on apple osX 10.9.5

$ node --version v6.5.0 $ npm --version 3.10.3

hmuschett commented 8 years ago

@mcferren It is solved by adding the address of the module installation at \ PATH** computer in my case

C:\Users\hmuschett\AppData\Roaming\npm

or

C:\Users\local\npm-local\npm-global

mcferren commented 8 years ago

@hmuschett can you please expand on your suggestion? I am unclear when/where I should add the address (during installation? before ng terminal command? ). Could you please provide me the steps from scratch in order to install angular cli and then use all of its ng terminal commands? Many thanks in advance

hmuschett commented 8 years ago

@mcferren see https://github.com/npm/npm/issues/13828 tienes buscar en tu ordenador la ruta en donde npm instala los paquetes globales y esa ruta añadirla a la variable "PATH" de tu sistema operativo para que este recocnosca los comandos instalados

mcferren commented 8 years ago

se puede compartir el command teminal para hacer eso? muchas gracias para la ayuda

hmuschett commented 8 years ago

@mcferren i do not understand you, you have to restart the pc to see the changes

Zaggen commented 8 years ago

Hi @hmuschett, on windows 10 it worked right out of the box, so i can't help with that, i only had issues with ubuntu. Btw, what you suggested to @mcferren is regarding windows installation, but he stated that he is using mac. @mcferren OsX is pretty much a flavor of linux, so i have no idea if it'll work but you could try and copy+paste and run the command i placed for ubuntu on my last comment and check if it works, if not then i have no idea how to help.

AlexReff commented 8 years ago

Why is this marked as closed? This issue happened for me today on an Ubuntu server using Node (not NVM)

There was no 'lib' folder in /home/[user]/.npm/lib for me to symlink

I ended up removing node and installing nvm, but that can't be an acceptable solution, right?

JanStureNielsen commented 8 years ago

@AlexReff -- is your PATH as noted in the referenced NPM 13828 issue correct?

AlexReff commented 8 years ago

That topic is specific to Windows. This was not on a Windows platform.

m477r33d commented 8 years ago

Still occuring with node v5.6.0 npm v3.6.0. Using alias fix.

maddymaster commented 8 years ago

I changed the alias, now I get this error, now how do I undo the alias?

-bash: /root/.nvm/versions/node/v6.3.1/lib/node_modules/angular-cli/bin/ng: No such file or directory

and Mac Users do not try to change the alias, it wont solve the problem

filipesilva commented 8 years ago

I know it's frustrating to hear, but there isn't much that we can do here on this repo. If after global install the ng isn't available, it means that either the install failed or that your npm is broken/misconfigured/having problems. Those kind of issues should be filed against https://github.com/npm/npm

wumpz commented 8 years ago

Same problem here using Windows 10 and actual installer.

aniruddhadas9 commented 8 years ago

Same problem with it. npm command is working fine, so the problem is with angular-cli as ng command is ot working

MattKane commented 7 years ago

Same problem here running Windows 10 x64 / NodeJS 6.9.1 / npm 3.10.9: After installation of Angular CLI via npm, the 'ng' command cannot be found.

Uninstalled npm with npm uninstall -g npm Uninstalled NodeJS via control panel / programs and features Downloaded and ran 'old' NodeJS installer release 6.5.0 from https://nodejs.org/download/release/v6.5.0/ (node-v6.5.0-x64.msi). After NodeJS 6.5.0 installation completed, open powershell and npm install -g angular-cli Grab quick coffee After installation completed, ng worked OK.

HTH

Sluchik commented 7 years ago

Thank you. This solution works for me

jtonic commented 7 years ago

Hi,

I was also coming across this issue on the MacOS Siera (10.12.2), and I managed to fix the issue following the next steps (I provided the whole steps to install the angular-cli, including the way to add the correct link into ~/.bash_profile

Prerequisites the following versions need to be installed (https://www.npmjs.com/package/angular-cli#prerequisites )

Because I installed the node and npm using the brew package manager I would go with it for updating the node and npm to the required versions

Installation

$ npm install -g angular-cli

bofcarbon1 commented 7 years ago

If your IDE is like mine (Cloud 9) the node version default may be something like 4.5.1. Do an upgrade to at least version 6.5.0 as shown above. In addition your IDE may shut your work space session down after being idle. That may reset everything back to the default node version. You can use this command to set the current session to the node version you need.

$ nvm use 6.5.0

This worked for me and 'ng' commands were back and life was good again.

fr4ngus commented 7 years ago

With the latest @angular/cli package (prev called angilar-cli and renamed @angular/cli)

I think nvm is a good workaround, but you just have to add this line to your bash-profile:

open ~/.bash_profile
alias ng="/Users/xxxxx/.npm-packages/lib/node_modules/@angular/cli/bin/ng"
ipavlyk commented 7 years ago

open ~/.zshrc alias ng="~/lib/node_modules/@angular/cli/bin/ng"

bofcarbon1 commented 7 years ago

Update.....

I started a new MEAN stack node.js app on Cloud 9 (Ubuntu) and when using node 6.5.0 got a message that I should convert to 6.10. Used 6.10.1 and that would not recognize 'ng' commands. Changing this 'bash_profile' may or may not be possible developing from an IDE tool where you don't own the file. So I went back to 6.5.0 and it worked fine. I don't understand why the new 6.10.1 version would cause the 'ng' script file to not be found. I'm sticking with 6.5.0 for now warning or not at least it works.

ipavlyk commented 7 years ago

Also posible solution is to reexport (or to verify) path to your .../usr/bin:

export PATH=$HOME/bin:$PATH

bofcarbon1 commented 7 years ago

Are you talking about setting this PATH inside of my application? Not om my machine? I use a cloud service to create my code which sits on Ubuntu. Where would I set the PATH? In which project file?

B

ipavlyk commented 7 years ago

I was talking about bin folder which contains refs on cli(s).

iyunusov commented 7 years ago

Being in the Home directory, simply running:

alias ng="npm/lib/node_modules/angular-cli/bin/ng"

In terminal did fix the issue

JasonMonroe-EdgeTech commented 7 years ago

I was running node v4.5.0. Updating to v8.1.1 fixed the issue for me.

leonardopaiva commented 7 years ago
Also posible solution is to reexport (or to verify) path to your .../usr/bin:

export PATH=$HOME/bin:$PATH

for some reason my path was no longer compatible with everything I was exporting in my bash profile,

so type "echo $PATH" and check your path, if npm/bin isnt there add it again through the bash_profile.

naru6be commented 7 years ago

At last find the solution for ng command is not working issue ,Find the solution below http://itechiesol.blogspot.com/2017/07/angular-cli-ng-command-is-not-working.html

sayantansinha commented 7 years ago

@maddymaster alias worked for me in mac, not sure why it did not work for you or if you are still having the issues then you can check if your path is correct.

josephglaspie commented 7 years ago

I was at the following versions and unable to get it to work: node --version v7.9.0 npm --version 4.2.0 After adding the path C:\Users\YourName\AppData\Roaming\npm to my registry I am up and running:

function Set-Path{
<#
.Synopsis
   Add path to $env:Path permanantly
.EXAMPLE
   Set-Path -pathToAdd 'C:\Program Files\Git\usr\bin' -Verbose
#>
[CmdletBinding()]
param(
[Parameter(Mandatory=$true)]
[string]$pathToAdd,

$envBackup = 'c:\temp\envPathBackup.txt'
)

$oldPath = (Get-ItemProperty -Path 'Registry::HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\Environment' -Name PATH).path
$oldPath | Out-File $envBackup -Append
$newPath = $oldPath + ';' + $pathToAdd
Set-ItemProperty -Path 'Registry::HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\Environment' -Name PATH -Value $newPath
(Get-ItemProperty -Path 'Registry::HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\Environment' -Name PATH).path
Write-Host "Old path backed up at" $envBackup -ForegroundColor Green
}
Set-Path -pathToAdd 'C:\Users\YourName\AppData\Roaming\npm'
santiagobernalbetancourt commented 7 years ago

-bash: ng: command not found MacBook-Air-de-xxxxxxxx:~ xxxxxxxx$ npm -v 5.3.0 MacBook-Air-de-xxxxxxxx:~ xxxxxxxx$ ionic -v 3.8.1 MacBook-Air-de-xxxxxxxx:~ xxxxxxxx$ ionic info [WARN] You are not in an Ionic project directory. Project context may be

   missing.

cli packages: (/usr/local/lib/node_modules)

@ionic/cli-utils  : 1.8.1
ionic (Ionic CLI) : 3.8.1

System:

Node : v6.11.2
npm  : 5.3.0 
OS   : macOS Sierra

MacBook-Air-de-xxxxxxxx:~ xxxxxxxx$ ng -v -bash: ng: command not found MacBook-Air-de-xxxxxxxx:~ xxxxxxxx$

" Ayudaaaa"

NatasaPeic commented 7 years ago

I have tried all sorts of things, but this did it.

npm uninstall -g angular-cli npm cache clean npm install -g angular-cli

Cheers.

nathiyakumar commented 7 years ago

angular cli is not work how to fix the error Mg++ 1.5beta1 (formerly MicroGnuEmacs Adv.) this error throw in my terminal

davehoo commented 7 years ago

I'm learning Angular on a fresh Windows 7 install and went through the instructions and also got the ng not found error in git bash (mingw32): https://angular.io/guide/quickstart Step 2

SYSTEM@Dave-E6540 MINGW32 ~ $ ng new my-app bash: ng: command not found

I followed instructions elsewhere to run some commands to determine the path I need to add but it was already added to the Windows Environment Variables for User (since I only installed it for me), and adding it to the System PATH also had no effect (see Start > right-click Computer > Properties > Advanced system settings > Advanced tab > Environment Variables button).

SYSTEM@Dave-E6540 MINGW32 ~ $ npm list -g --depth=0 C:\Users\Dave\AppData\Roaming\npm `-- @angular/cli@1.4.3

SYSTEM@Dave-E6540 MINGW32 ~ $ npm config get prefix C:\Users\Dave\AppData\Roaming\npm

The only thing that worked was adding the path in git bash as: export PATH=$PATH:/c/Users/Dave/AppData/Roaming/npm

Not sure if I'll have to re-add it every session or what the permanent solution is, but the Node install should be able to do this already. Wasn't expecting to hit a roadblock so early, maybe the developer needs to double-check this and reconfigure the install to set the path correctly or if they're not able to do that at least mention the fix for it during the install or documentation.

AlbertWhite commented 7 years ago

For me, it is a problem of adding a Path in to bash_profile for Mac (like global variable in the system): Step 1: Find where your angular-cli is installed. You can find the path in terminal after you run npm install -g @angular-cli

Step 2:Get the path, for example, "/usr/local/lib/node_modules/lib/node_modules/@angular/cli/bin", I know it is a bit wired..

Step 3: Open your .bash_profile: vi ~/.bash_profile

Step 4: Add the path in step 2 in bash_profile like this: export PATH=/usr/local/lib/node_modules/lib/node_modules/@angular/cli/bin:$PATH

Step 5: Save and quit your vi editor by 'wq'. In the end, you need to source ~/.bash_profile to make your changes work.

After that, you may need to close and reopen your terminal window to let it work. It works for me, hope it also works for you.

davehoo commented 6 years ago

I'm guessing the only permanent fix (at least initially) is to install Node for ALL users on Windows (not sure how that's different than System PATH though), but I'd rather not do that. I'll look around for other permanent fixes, maybe there's some special place the Node install sets a path during an ALL users install, but I'll have to dig around for it if nobody knows.

Maybe the issue is just that Angular is checking the wrong PATH place... I don't fully blame the developers for missing something with Windows as it appears overly-complicated to me, but the instructions ultimately should work out of the box.