ng: commande introuvable lors de la création d'un nouveau projet en utilisant angular-cli

112

Installé globalement angular-cli en utilisant ( npm install -g angular-cli) mais lorsque j'essaie de créer un projet en l'utilisant, ng new my-projectil génère une erreur:

ng: commande introuvable

lego
la source
que se passe-t-il lorsque vous tapez ng --help? Cela a également été publié sur le référentiel angular cli. vérifier ce lien
VirendraJ
Même lorsque je tape ng --help même problème ng: command not found, dans le journal des problèmes, il est suggéré d'utiliser nvm mais je voudrais utiliser npm. J'ai essayé de corriger le chemin en ajoutant un alias dans mon .profile mais les paramètres de proxy sont déjà là, alors comment puis-je ajouter un nouveau chemin en utilisant alias = alias ng = "Users / xxxx / npm / lib / node_modules / angular-cli / bin / ng "
lego
Pouvez-vous publier votre version OS ainsi que votre version npm
PD Farhad
Utilisation de Mac OS, version npm - 2.14.20 et version nœud - 4.4.0
Lego
3
Pouvez-vous vérifier qu'il est installé via ...npm ls --global --depth 0
Brocco

Réponses:

154

Le problème est simple, npmne sait pasng

Exécutez simplement npm link @angular/cliet cela devrait fonctionner de manière transparente.

abhinavroy23
la source
4
Pouvez-vous expliquer un peu plus à ce sujet?
Pardeep Jain
4
@PardeepJain: la commande link crée essentiellement un lien global, puis relie la cible d'installation globale dans le dossier node_modules de votre projet.
abhinavroy23
2
Ça ne marche pas désolé. alias ng="PATH-TO-GLOBAL/.npm-global/bin/ng" ( Location of ng file in npm folder) Cela a fait l'affaire.
saran3h
2
Cela a fonctionné. Je devais juste courir avec sudo. sudo npm link @angular/cli.
Craig
2
Je peux confirmer que cette solution fonctionne. J'utilise Windows et je peux confirmer que cette solution a fonctionné pour moi. Mais je devais faire quelque chose en plus: Exécutez ceci dans PowerShell: "Set-ExecutionPolicy Unrestricted". Cela vous permet d'exécuter des fichiers .ps1 (powershell).
lucamuh le
47

Premièrement, angular-cliest obsolète et a été remplacé par @angular/cli. Donc, si vous désinstallez votre angular-cli existant avec npm uninstall angular-cli, puis réinstallez le paquet avec le nouveau nom @ angular / cli, vous pourriez avoir des conflits. Mon histoire sur Windows 7 est:

J'avais installé angular-cli et réinstallé en utilisant npm install -g @angular/cli, mais après avoir apporté quelques modifications de configuration aux outils de ligne de commande, j'ai commencé à obtenir le problème de commande ng introuvable. J'ai passé plusieurs heures à essayer de résoudre ce problème, mais aucun des problèmes ci-dessus n'a fonctionné à lui seul. J'ai pu le réparer en suivant ces étapes:

Installez Rapid Environment Editor et supprimez toutes les entrées PATH pour node, npm, angular-cli ou @ angular / cli. Node.js sera dans votre chemin système, npm et les entrées angulaires sont dans le chemin utilisateur.

Désinstallez node.js et réinstallez la version actuelle (pour moi 6.11.1). Exécutez à nouveau Rapid Environment Editor et assurez-vous que node.js et npm se trouvent dans votre chemin système ou utilisateur. Désinstallez toutes les versions existantes de ng avec:

npm uninstall -g angular-cli

npm uninstall -g @angular/cli

npm cache clean

Supprimez le dossier C: \ Users \% YOU% \ AppData \ Roaming \ npm \ node_modules \ @angular .

Redémarrez, puis, enfin, exécutez:

npm install -g @angular/cli

Puis retenez votre souffle et courez:

ng -v

Si vous avez de la chance, vous aurez de l'amour. Retenez votre souffle désormais chaque fois que vous exécutez la commande ng, car «commande not found» a réapparu comme par magie pour moi plusieurs fois après que ng fonctionnait bien et j'ai pensé que le problème était résolu.

VanAlbert
la source
3
sudo npm install -g @ angular / cli
Mohammad Suhel Shaikh
Désolé mais cela ne fonctionne pas. J'ai essayé toutes les commandes ci-dessus et j'ai utilisé sudo pour les émettre. Je suis sous mac OS.
pixel
J'ai suivi ce format et cela a bien fonctionné pour moi sans l'éditeur Rapid Environment. Dans Windows 10, j'ai mis à jour manuellement les chemins dans les variables Einvronment. Je n'avais pas exécuté Node ou Angular depuis un moment car mon dernier projet était dotnet core. J'ai donc dû réinstaller le dernier des deux npm et node, puis réinitialiser mes chemins et redémarrer avant l'étape de désinstallation angular / cli.
Vic
21

Assurez-vous que le répertoire npm est dans votre variable " Path ".

Si le module est installé correctement, il peut fonctionner si vous le démarrez à partir de votre répertoire de module de nœud global, mais votre outil de ligne de commande ne sait pas où trouver le ng commande lorsque vous n'êtes pas dans ce répertoire.

Pour la variable système Win , ajoutez quelque chose comme:

%USERPROFILE%\AppData\Roaming\npm

Et si vous utilisez un terminal (émulateur) de type Unix :

PATH=$PATH:[path_to_your_user_profile]/path-to-npm
fuma
la source
2
Si vous travaillez sur plusieurs projets en utilisant différentes versions de la CLI (de sorte que toujours exécuter la version globale unique ne soit pas une option), essayez export PATH=$PATH:node_modules/@angular/cli/bin/ng- il choisira la version locale, tant que vous exécutez la ngcommande dans le répertoire racine de votre Angular (sous) projet.
Janaka Bandara
@JanakaBandara comment ajouter cette commande d'exportation dans Win10? Est-il correct de l'ajouter dans le .bash_profile?
Diego Ortiz le
1
Ouais, j'ajoute généralement ça à.bashrc
Janaka Bandara
17

C'est ainsi que je l'ai fait fonctionner pour moi :).

1 - npm link @angular/cli

Il vous renverra le chemin de cli , qui ressemblera à ceci

/usr/local/Cellar/node/11.3.0_1/lib/node_modules/@angular/cli

Pour cette partie, /11.3.0_1 veuillez la remplacer par la version de votre nœud respectif qui peut être trouvée en tapantnode --version

2 - cd ~/

3 - open .bash_profile

Dans le profil bash, créez un alias pour cli comme celui-ci,

alias ng="/usr/local/Cellar/node/11.3.0_1/lib/node_modules/@angular/cli/bin/ng"

4 - source ~/.bash_profile

Voici à quoi .bash_profileressemblera votre apparence une fois que vous y aurez ajouté un alias .

entrez la description de l'image ici

Maintenant, taper ngdans le terminal affichera la sortie indiquée dans l'instantané joint.

entrez la description de l'image ici

J'espère que cette réponse vous sera utile.

Divyanshu Rawat
la source
1
npm link @angular/cliC'était juste assez pour moi. Merci.
Kunal Dethe
Heureux que cela vous ait aidé :)
Divyanshu Rawat
16

la solution la plus simple est ( si vous avez déjà installé angular ):

1 supprimer l'alias ng s'il existe

unalias ng

2 ajoutez l'alias correct

alias ng="/Users/<user_name>/.npm-global/bin/ng"

3 run ng servent par exemple et cela fonctionnera.

Achref Gassoumi
la source
il n'y a pas de répertoire .npm-global sur Mac
pixel
@pixel pour sûr qu'il y a un npm-global sur mac s'il vous plaît référence ici pour plus de détails flaviocopes.com/npm-packages-local-global
Achref Gassoumi
1
@AchrefGassoumi Merci, mais après avoir cherché pendant des heures sur Google, aucun emplacement suggérant d'aliaser un emplacement ne fonctionnerait. Le seul moyen pour moi de résoudre ce problème était d'utiliser nvm comme je l'ai expliqué dans ma réponse à cette question stackoverflow.com/questions/58138138/…
pixel
14

Pour Mac exécuter

npm install -g @angular/cli@latest

puis courir

alias ng="/usr/local/lib/node_modules/node/lib/node_modules/@angular/cli/bin/ng"

Vérifiez si fonctionne

ng version
Francesco
la source
J'ai dû utiliser la commande d'alias suivante: - alias ng = "/ usr / local / lib / node_modules / @ angular / cli / bin / ng"
cammando
11

Exécutez les commandes ci-dessous:

npm uninstall -g angular-cli

npm uninstall -g @angular/cli

npm cache clean

npm install -g @angular/cli@latest

alias ng="C:/Users/itaas/.npm-global/ng" (Emplacement du fichier ng dans le dossier npm)

Et enfin exécutez:

ng -v 

Ng-v

Gajender Singh
la source
Avec angular 7, je suppose que cela a changé pour la version $ ng
raikumardipak
Bien que cela résout un problème, cela en crée un autre. Cela signifie toujours que vous exécutez NG depuis le niveau global et jamais depuis le niveau de l'application.
Itanex
Non, ce n'est pas comme ça ici, nous redéfinissons le mot-clé ng. Il n'y a rien de tel que le niveau de l'application. c'est juste un fichier de configuration pour l'utilisateur actuel
Gajender Singh
9

Dans mon cas, installez angular cli

npm install -g @angular/cli@latest

mettre à jour Nodejs à la dernière , alors tout devrait bien fonctionner.

... et si vous avez toujours ce problème, c'est peut-être parce que vous exécutez la commande dans le shell et non dans cmd (vous devez exécuter la commande dans cmd), vérifiez cela et peut-être que cela aide ...

Ali Jamal
la source
8

J'ai résolu le même problème en ajoutant un alias comme:

alias ng="path-to-your-global-node-modules/angular-cli/bin/ng"
m.zemlyanoi
la source
Cela fonctionnait bien pour moi, mais à chaque fois que je me connectais, je devais le faire, alors je l'ai ajouté dans mon fichier .bashrc de cette manière: "nano ~ / .bashrc" et j'ai ensuite ajouté la ligne suivante: alias ng = "/ usr / local / lib / node_modules / @ angular / cli / bin / ng "
J'exécute
5

Pour les utilisateurs Mac:

1) Installez @ angular / cli globalement

$ sudo npm install -g @angular/cli
/usr/local/Cellar/node/10.0.0/bin/ng -> /usr/local/Cellar/node/10.0.0/lib/node_modules/@angular/cli/bin/ng

2) Créer un alias pour ng

alias ng="/usr/local/Cellar/node/10.0.0/lib/node_modules/@angular/cli/bin/ng"

Terminé

Roman Mahotskyi
la source
5

Si vous avez installé angular cli globalement mais que ng ne fonctionne pas, procédez comme suit:

echo -e "export PATH=$(npm prefix -g)/bin:$PATH" >> ~/.bashrc

source ~/.bashrc

ng --version
faye.babacar78
la source
C: \> echo -e "export PATH = $ (préfixe npm -g) / bin: $ PATH" >> ~ / .bashrc Le système ne trouve pas le chemin spécifié.
GregJF
Cette commande est uniquement destinée aux utilisateurs Unix / Linux. Si vous êtes sous Windows, la CLI angulaire doit être installée en mode administrateur.
faye.babacar78
4

essaye ça :

alias ng = "~ / node_modules / @ angular / cli / bin / ng"

Ali
la source
3

Assurez-vous que angular-cli est installé avant d'essayer de créer un projet. Les utilisateurs Windows peuvent installer angular-cli sans donner l'autorisation de commande, mais les utilisateurs MAC doivent utiliser sudo avant d'exécuter la commande comme suit:

sudo npm install -g angular-cli

Saisissez un mot de passe lorsque vous y êtes invité et appuyez sur Entrée pour continuer.

Maihan Nijat
la source
3

Même problème ici sous Windows 10 x64 / NodeJS 6.9.1 / npm 3.10.9 .
Après l'installation de Angular CLI via npm:

La commande 'ng' est introuvable

Procédez comme suit:

  1. Npm désinstallé avec npm uninstall -g npm
  2. NodeJS désinstallé via le panneau de contrôle / programmes et fonctionnalités
  3. Téléchargement et exécution de `` l'ancienne '' version du programme d'installation NodeJS 6.5.0 à partir de https://nodejs.org/download/release/v6.5.0/ ( node-v6.5.0-x64.msi ).
  4. Une fois l'installation de NodeJS 6.5.0 terminée, ouvrez PowerShell et npm install -g angular-cli
  5. Prenez un café rapide
  6. Une fois l'installation terminée, ng a fonctionné correctement.

HTH

Matt Kane
la source
3

Tout d'abord, vérifiez si votre npm et votre nœud sont correctement installés
avec les commandes npm versionetnode -v .

S'ils sont corrects:

  1. Trouvez le répertoire global racine de NPM npm root -g(il vous donnera la racine de votre magasin npm global)

  2. Désinstaller l'ancien cli angulaire avec npm uninstall -g angular-cli etnpm cache clean

  3. Réinstaller la nouvelle version d'angular npm install -g @angular/cli@latest

  4. créer un alias de nom 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>"
(à partir du 20 octobre 16 à 15:30 @ m.zemlyanoi)

puis pour vérifier, vous pouvez taper ng -v

Mayank Parihar
la source
2

si vous trouvez cette erreur lorsque vous installez angular-cli, -bash: ng: command not foundessayez ceci, cela fonctionne,

Après avoir supprimé Node de votre système

install NVM from here https://github.com/creationix/nvm
Install Node via NVM: nvm install stable
run npm install -g angular-cli
Raghu nandan
la source
2

Selon npm, le angular-clia été renommé en @angular/clivous pouvez utiliser la syntaxe suivante pour l'installer.

npm install -g @angular/cli
nPcomp
la source
1

solution pour le système d'exploitation Windows uniquement ....... première étape:

installer la version nodejs: nodev 8.1.2

deuxième étape: configurer une variable d'environnement comme: C: \ ProgramFiles \ nodejs

Troisième étape: installer angular utilisez cette commande: npm install -g @ angular / cli

après l'installation où vous devez créer un projet comme: ng new first-project ......

raja manikkam
la source
1

Pour moi (sur MacOSX), je devais faire:

nvm install stable
npm install -g angular-cli

Cela a été installé dans:

/usr/local/lib/node_modules/@angular/cli/bin/ng

Mais npm n'a pas mis de lien vers ng dans

/usr/local/bin/

C'est pourquoi il ne faisait pas partie du% PATH et donc disponible depuis la ligne de commande sauf via une adresse absolue.

J'ai donc utilisé ce qui suit pour créer un lien vers ng:

sudo ln -sf /usr/local/lib/node_modules/\@angular/cli/bin/ng /usr/local/bin/ng
Justin.Cooke
la source
1

fonctionnement

export PATH=$PATH:/c/Users/myusername/AppData/Roaming/npm 

aidé.

Assurez-vous que votre nom d'utilisateur réel est dans la section mon nom d'utilisateur

Fey Agape
la source
Quelqu'un a remis une médaille à cette personne. Works aime un charme.
Pramesh Bajracharya
0

Si vous travaillez sous Windows 7 et que vous ne pouvez pas exécuter la commande, commencez par ng

s'il vous plaît, mettez à jour angular / CLI immédiatement et essayez d'utiliser les commandes ng

utilisez ci-dessous la virgule pour mettre à jour la dernière CLI

npm install -g @angular/cli@latest
Hardik Leuwa
la source
0

Cela fonctionne pour mettre à jour votre package angular / cli // * Global (cmd en tant qu'administrateur)

npm uninstall -g @angular/cli
npm cache verify
npm install -g @angular/cli@latest
alvic
la source
0

Tout d'abord, installez '@ angular / cli' en utilisant npm comme module global

sudo npm install -g @angular/cli

Après cela, essayez de faire un ping sur le cli en utilisant la commande 'ng' de la fenêtre du terminal.Si un problème comme

Commande «ng» introuvable

Ensuite, vous devez configurer manuellement le

ng

disponibilité de la commande. Vous définissez cette étape en exécutant la commande suivante.

ln -s path-to-your-ng-command /bin

par exemple:

sudo ln -s / opt / node / lib / node_modules / @ angular / cli / bin / ng / bin /

Thrilok Kumar Pallaki
la source
0

Dans mon cas, cela se produisait lorsque j'ai recommencé à travailler sur un onglet adjacent. C'était le npm qui n'était pas réglé. Veuillez vérifier la version de npm Wither en utilisant

npm -v

ou si vous avez NVM alors

liste nvm

ou

courant nvm

Je l'ai réglé sur 8.9.1 puis il a recommencé à fonctionner. J'espère que cela aide.

Rahul
la source
0

Cela a fonctionné pour moi:

  1. Accédez à C: \ Users {{users}} \ AppData \ Roaming et supprimez le dossier npm
  2. Désinstallez le nœud et réinstallez-le
  3. Exécutez la commande pour installer angular cli

    npm install -g @angular/cli
    
PrJ
la source
0

Dans mon cas, j'utilisais simplement la mauvaise version de nœud.

Je venais juste d'installer une nouvelle version de nœud pour jouer avec Angular (2). Au travail, nous utilisons 6.x, c'est donc ma valeur par défaut dans nvm. Après le redémarrage, l'ordinateur portable a ngcessé de fonctionner simplement parce que j'exécutais à nouveau le nœud 6.x. Donc, pour moi, il s'agissait simplement d'utiliser la version avec laquelle j'installais la CLI angulaire:

nvm use node // with the node alias pointing to the right version

ou

nvm use v8.11.3 // if you happen to know the version

Vérifiez vos versions installées et vos alias avec

nvm list 
Retourner
la source
0

Si vous avez un ordinateur MacOS (le mien est MOJAVE 10.14.2), ajoutez simplement ces lignes à la fin de votre fichier ~ / .bash_profile :

export ANGULAR=~/.nvm/versions/node/v10.8.0/bin/ng
export PATH=$ANGULAR:$PATH

Notez que v10.8.0 est la version de mon Node.js. installé. Pour obtenir quelle version est la vôtre, exécutez ceci:

node --version

Une fois terminé, rechargez-le via votre terminal / bash:

cd ~
source .bash_profile

Après avoir effectué ces étapes, vous devriez être en mesure d'exécuter votre fichier binaire ng .

Marcelo Gumiero
la source
0

La réparation de l'installation de NodeJS sur Windows l'a résolu pour moi.

Regard
la source