Commande gulp introuvable - erreur après l'installation de gulp

224

J'ai installé gulp à la fois globalement et localement en utilisant

npm install gulp
npm install gulp -g
npm install gulp-util
npm install gulp-util -g

Quand j'essaye d'exécuter gulp, je reçois

'gulp' is not recognized as an internal or external command, operable program or batch file.

Exécuter npm list gulp (ou -g), I [email protected]avec l'emplacement de mon installation gulp globale ou locale.

J'ai essayé node gulpfile.jsde lancer pointer vers mon gulpfile, et il fonctionne sans erreur, et bien sûr, il commence par require('gulp').

Des suggestions pour faire fonctionner Gulp sous Windows (8.1)?

pédale
la source
1
Je n'utilise pas Gulp sur Windows, mais avez-vous essayé npm install gulp --save-dev?
soenguy
2
@soenguy qui ne le résoudra pas
SteveLacy
@pedalpete ma réponse at-elle résolu votre question? Veuillez le marquer si c'est le cas
SteveLacy
J'avais ce problème jusqu'à ce que j'enlève complètement node.js et que je réinstalle / redémarre mon ordinateur. J'obtenais toutes sortes d'erreurs étranges de mes plugins de nœuds.
LAdams87
J'ai rencontré ce problème récemment: il s'avère que la seule chose que j'ai oublié était d'ajouter le dossier où gulpse trouve le programme exécutable à la variable Windows% PATH%. Dans mon cas:%AppData%\Roaming\npm
AdrienW

Réponses:

240

Vous avez oublié d'installer le paquet gulp-cli:

npm install -g gulp-cli

Ensuite, vous pouvez exécuter la commande "gulp" à partir de la ligne de commande.

csnate
la source
Ouais, après que le changement de registre n'ait pas fonctionné, cela a fait l'affaire: ')
edencorbin
Cette pièce n'était même pas incluse dans notre artificiel à saisir, donc ne pouvait pas l'obtenir pour l'installer.
vapcguy
Cela a résolu le problème du didacticiel "Learn Bootstrap 4 Final in 2018 with our Free Crash Course". Je mettrai un lien vers cette réponse dans ce tutoriel pour les gars qui pourraient avoir le même problème
Enrique Bruzual
221

Le problème et la réponse se trouvent dans cette question: https://stackoverflow.com/a/9588052/1041104

Les modules npm tels que gulp ne sont pas installés sur le chemin. Ainsi, ne sont pas trouvés lorsque vous les exécutez dans le CMD.

Si gulp a été installé dans le monde, vous pouvez utiliser le processus ci-dessous:

  1. Créez une variable d'environnement appelée NODE_PATH
  2. Réglez-le sur: %AppData%\npm\node_modulesou %AppData%\npmsur Windows 8-10
  3. Fermez CMD et rouvrez pour obtenir les nouvelles variables ENV

Ajouter un chemin de nœud aux variables d'environnement

En cours d'exécution npm lset npm ls -gmontre qu'ils sont installés, mais le CMD ne peut pas les trouver en raison de the missing link.

SteveLacy
la source
14
Je pense qu'il est important de noter, cependant, que la réponse fournie NE FONCTIONNE PAS si gulp n'a pas été installé à l'échelle mondiale. le dossier% AppData% \ npm est complètement vide lors de l'installation initiale et si vous installez seulement gulp dans un dossier de projet sans utiliser -g, il ne place pas le fichier batch dans \ npm \ ou ses fichiers dans \ npm \ node_modules. Donc, en réalité, LES DEUX réponses ici sont nécessaires.
Évelyne Lachance
8
J'ai essayé cela et cela n'a toujours pas fonctionné pour moi jusqu'à ce que je réalise que mon nom de variable d'environnement "Path" était en cas de chameau et non "PATH" (en majuscule). J'ai modifié "Path" en "PATH" et ajouté mon répertoire npm au début comme dans la réponse de @CIAODO. Pour une raison quelconque, "% AppData% \ Roaming \ npm ne fonctionnait pas pour moi, j'ai donc dû utiliser le chemin complet:" C: \ Users \ [nom.utilisateur] \ AppData \ Roaming \ npm; ". Combiné avec cette réponse cela a fonctionné pour moi.
R Brill
% AppData% \ Roaming \ npm ne fonctionnait pas aussi pour moi, devait également utiliser le chemin complet: "C: \ Users [nom.utilisateur] \ AppData \ Roaming \ npm;"
user2345998
31
l'ajout de% AppData% \ npm à PATH a fonctionné pour moi (Windows 10)
outofBounds
J'ai essayé mais cela n'a pas fonctionné mais après avoir redémarré mon PC, cela a fonctionné. Je ne sais pas ce qui s'est passé.
lyhong
86
  1. Assurez-vous d'avoir gulp et gulp.cmd (utilisez la recherche Windows)
  2. Copiez le chemin de gulp.cmd ( C:\Users\XXXX\AppData\Roaming\npm)
  3. Ajoutez ce chemin à la variable d' environnement Path ou modifiez PATHla variable d'environnement et ajoutez%APPDATA%\npm
  4. Rouvrez cmd.

Ajoutez %APPDATA%\npmà l'avant du chemin, pas à la fin du chemin.

Habib Adıbelli
la source
7
Ajoutez% APPDATA% \ npm à l'avant du chemin, pas à la fin du chemin.
Habib Adıbelli
Merci @CIAODO! mon chemin avait de la merde à partir d'une installation de nœud antérieure à des fins de test et votre commentaire m'a aidé à le retrouver. »:)
Edward
Cela a juste soudainement cessé de fonctionner pour moi, je pense après avoir changé d'autres variables PATH. Votre première solution a été la seule qui a fonctionné pour moi. Merci.
Martin Dawson
45
  1. Installez gulp globalement.

    npm install -g gulp

  2. Installez gulp localement dans le projet.

    npm install gulp

  3. Ajoutez la ligne ci-dessous dans votre package.json

    "scripts": { "gulp": "gulp" }

  4. Exécutez gorgée.

    npm run gulp

Cela a fonctionné pour moi.

Gaurav Goel
la source
Après avoir fait l'étape 4, il ne s'est pas exécuté pour moi - il a simplement renvoyé une autre invite de ligne de commande après avoir rien fait (visible, au moins). Si je l'ai fait juste gulpaprès ça, ça a fonctionné.
vapcguy
Brillant. C'était la solution à mon processus de construction défaillant qui reposait sur Gulp dans AppVeyor. J'ai plutôt utilisé quelque chose comme "package": "gulp build".
Crayons
32

J'utilise Windows 8.1. J'ai eu le même problème.

J'ai installé gulp à l'aide de l'invite de commande Node.js

npm install -g gulp

Ensuite, accédez au répertoire requis dans l'invite de commande Node.js et essayez

gulp -v

Si vous obtenez la version locale de gulp introuvable, quittez l'invite de commande Node.js actuelle et essayez la commande ci-dessus dans une nouvelle invite de commande Node.js

J'ai essayé le NODE_PATH mentionné par @SteveLacy mais l'invite de commande n'était toujours pas en mesure de détecter la commande gulp

GP de Sudarsan
la source
7
Je ne suis pas le votant, mais je pense que votre réponse ne résout pas (ou n'essaie pas de résoudre) le problème.
Edu Ruiz
1
ne fonctionne pas, OP mentionne que cela a été tenté. J'ai rencontré le même problème, je l'ai essayé et cela ne résout pas le problème.
SCBuergel.eth
Fournit-il une réponse? Eh bien, cela a résolu mon problème! merci beaucoup
Radim Köhler
Il n'y a même pas de réponse à cela. Telle était la question en premier lieu.
Vik
C'est la solution qui a fonctionné pour moi. Les haineux continueront de détester.
TombMedia
27

Eu le même problème, pas vraiment la meilleure solution mais installez-le globalement:

npm install -g gulp

Bien sûr, il est préférable de l'avoir toujours package.json, vous pouvez donc faire ce qui suit pour l'installer localement et ajouter une entrée dans package.json:

npm install --save-dev gulp

Tout le reste (plugins gulp) s'installe également localement.

Namek
la source
20

La solution simple suffit npm link gulp

miojamo
la source
6
qu'est-ce que ça fait sous le capot?
étage
Ressemble à un lien symbolique
Avi Parshan Il y a
17

J'avais le même problème lorsque j'essayais de faire fonctionner Gulp sur une machine virtuelle de collègues. Il semble que le problème provient du dossier des utilisateurs.

L'ajout de NODE_PATH dans mes variables d'environnement n'a pas résolu le problème.

Si vous modifiez votre variable 'Path' dans vos variables système et ajoutez '% APPDATA% \ npm' à la fin de cela, cela devrait résoudre le problème ... Sauf si vous ou quelqu'un d'autre npm a installé gulp comme un autre utilisateur que celui que vous êtes actuellement connecté en tant que.

Si vous voulez qu'il soit disponible pour tous les utilisateurs, mettez explicitement 'C: \ Users \ yourUser \ AppData \ Roaming \ npm' (ou partout où vous avez gulp) au lieu d'utiliser '% APPDATA% \ npm'. Vous pouvez également déplacer les fichiers vers un chemin plus indifférent à l'utilisateur.

N'oubliez pas de lancer une nouvelle invite cmd, car celle que vous avez ouverte n'obtiendra pas automatiquement la nouvelle variable 'Path'.

Maintenant «gorgée».

Astronaute
la source
16

Une bonne façon:

  1. Cmd + R: tapez "% appdata%"
  2. Accédez au dossier npm
  3. Copiez le chemin entier comme "C: \ Users \ Blah ... \ npm \"
  4. Allez dans Poste de travail + clic droit "Propriétés"
  5. Paramètres système avancés (à gauche)
  6. Cliquez sur Variables d'environnement
  7. Cliquez sur Modifier le chemin
  8. Ajoutez "C: \ Users \ Blah ... \ npm \" à la fin et tapez ";" après ça
  9. Cliquez sur ok et rouvrez cmd
yeralin
la source
Je pense que les choses sont bien expliquées ici et ce devrait être la première chose à essayer quand vous voyez gulp' is not recognizedsur Windows
Edu Ruiz
l'essentiel est d'ajouter ";"à la fin. sinon cela ne fonctionnera pas
fuser
13

Vous devez d'abord installer en gulptant que global en utilisant:

npm install gulp -g

Sinon, la solution de chemin ne résoudra pas le problème.

Ajoutez ensuite le chemin des modules npm au PATH en utilisant:

PATH = %PATH%;%APPDATA%\npm
Badr Bellaj
la source
Les informations que vous avez ajoutées sont-elles nouvelles et distinctes de celles des 33 autres réponses? Mon impression est «non», auquel cas, vous n'auriez probablement pas dû ajouter la réponse.
Jonathan Leffler
1
J'ai essayé beaucoup d'entre eux sans succès et j'ai compris la nécessité d'installer gulp globalement afin d'éviter à quiconque la même douleur que j'ai ajouté cette réponse
Badr Bellaj
12

Dans mon cas, je devais installer gulp-cli par commande npm -g install gulp-cli

Skylin R
la source
9

Essayez d'ajouter à votre variable PATH ce qui suit:

C:\Users\YOUR_USER\AppData\Roaming\npm

J'ai eu le même problème et j'ai résolu d'ajouter le chemin d'accès à mes modules de noeud.

JC Gomez
la source
8

J'ai eu un problème similaire à le configurer dans Windows 10. Ma réponse est spécifique à Windows (regardez les réponses pour modifier le chemin dans bash pour une solution Linux ou OSX)

Le problème principal que j'avais était que le dossier de npm n'était pas enregistré dans le chemin. J'ai à l'origine essayé de changer cela dans l'invite cmd.

setx path "%path%;%appdata$\npm"

Notez que j'ai utilisé setx au lieu de set pour garantir que la mise à jour de la variable d'environnement reste. Notez également qu'il s'agit d'une barre oblique inverse.

Cela devrait fonctionner mais pour moi, cela n'a pas fonctionné car setx a une limite d'accepter seulement 1024 caractères ... (oui, cela n'a pas de sens pour moi aussi).

Essayez donc ce qui précède et si vous recevez un avertissement comme le fait d'atteindre la limite de 1024, vous pouvez faire l'autre façon que j'ai fini par faire.

Tout d'abord pendant que vous êtes toujours dans la console, tapez: echo %appdata%\npm... c'est votre dossier npm que vous souhaitez ajouter au chemin, alors ajoutez-le à votre presse-papiers.

Vous devez aller dans le registre et accéder au dossier suivant:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment

Ajoutez ensuite la valeur 'Path' avec le chemin du dossier npm dans votre presse-papiers. Redémarrez pour activer la nouvelle valeur et vous devriez maintenant être prêt à partir.

en utilisant regedit

Enfin, testez le tout

>npm install -g gulp
>gulp
ThinkBonobo
la source
1
Oui!!! Finalement! J'ai cherché partout quelque chose pour aider. Presque toutes les réponses disent de l'installer globalement et cela devrait fonctionner. J'ai installé, désinstallé, réinstallé, effacé le cache, etc. Enfin, cela a fonctionné. Je vous remercie!
Josh
@Josh, content d'avoir pu te faire courir. La mise en place d'un environnement est ab * tch. Je pense que je suis passé à mac principalement à cause de ces petites bizarreries lors de l'utilisation du shell Windows.
ThinkBonobo
Le pire, c'est que je l'ai installé depuis des mois. Ça se passe bien. Ensuite, je programme un jour et mes commandes ne sont pas reconnues. Je recherche sur Internet tout ce qui peut aider. Tout le monde dit la même chose. Ensuite, vous venez et BAM! Ça marche. Je comprends pourquoi vous passez à OSX. Je n'ai jamais eu ce genre de bizarreries avec OSX auparavant. Mais je suis trop attaché à Windows.
Josh
1
bien à votre avantage, je crois que Windows 10 adopte le shell bash natif. Devrait rendre la vie beaucoup plus facile pour certains de ces outils.
ThinkBonobo
Cela fonctionne pour moi dans Windows Server 2008, merci beaucoup!
manix
6

Cela a fini par être un problème «d'utilisateur» avec moi. J'avais installé npm et node sur le système connecté en tant qu'utilisateur1, puis j'ai configuré user2. Je pouvais exécuter node et je pouvais exécuter npm commnds, mais je ne pouvais exécuter aucun paquet npm à partir de la ligne de commande.

J'ai désinstallé node et npm et réinstallé sous le bon utilisateur afin de résoudre le problème. Après cela, je peux exécuter des packages à partir de la ligne de commande sans problème.

pédale
la source
La même chose pour moi, les autres réponses n'ont pas fonctionné - la réinstallation du nœud et de npm a fait le travail
mfeineis
6

La meilleure réponse n'a pas fonctionné pour moi.

J'utilise une machine virtuelle qui avait un ancien propriétaire. Le propriétaire précédent avait installé une ancienne version de npm. En utilisant cela, j'ai été installé gulp globalement avec npm install -g gulp. L'exécution de la commande gulpreviendrait 'gulp' is not recognized as an internal or external command, operable program or batch file.. Comme je l'ai dit, la réponse du haut n'a pas résolu mon problème. J'ai essentiellement dû réinstaller nodejs.

Solution

  1. Re-télécharger nodejs
  2. npm install -g gulp
  3. gulp -version

Cela a résolu le problème pour moi.

christo8989
la source
2
Je recommande d'utiliser nvm pour changer de version de nœud: github.com/creationix/nvm
anztenney
@ chrisyo8989 - génial .. cela a fonctionné pour moi sans les vars environnementaux Merci! Je déteste jouer avec eux!
gcoleman0828
4

J'avais la v0.12.3 de Nodejs sur Win7 x64 et j'ai rencontré des problèmes similaires lorsque j'ai essayé d'installer gulp. Cela a fonctionné pour moi:

  1. Nodejs non installés
  2. Nodejs installé v0.10.29
  3. npm install -g npm
  4. npm install -g gulp
kmxr
la source
1
J'ai utilisé juste npm install -g npmet npm install -g gulpet les choses reviennent à la normale
Edu Ruiz
Je recommande d'utiliser nvm pour changer de version de nœud: github.com/creationix/nvm
anztenney
4

Le programme d'installation de NodeJS semble ajouter le chemin utilisateur / AppData / Roaming / npm au chemin de l'environnement utilisateur, ce qui est approprié.

Normalement, la variable d'environnement PATH sur la ligne de commande est la combinaison du chemin de l'environnement utilisateur et du chemin de l'environnement système.

Toutefois, si le chemin de l'environnement utilisateur + le chemin de l'environnement système est supérieur à environ 1 920 caractères, Windows ne combine pas les chemins utilisateur et système - seul le chemin de l'environnement système est utilisé.

Voir: https://stackoverflow.com/a/21270921/301152

Ainsi, lorsque vous ouvrez les paramètres système avancés dans Windows pour modifier vos variables d'environnement, jetez un œil pour voir si le chemin utilisateur / AppData / Roaming / npm se trouve déjà dans le chemin de votre environnement utilisateur. Si tel est le cas, le problème est que vos chemins utilisateur + système sont trop longs, ce qui oblige Windows à ignorer votre chemin utilisateur. Coupez vos chaînes d'utilisateur et / ou de chemin système et gulp devrait fonctionner tel qu'il est installé.

Si vous ne trouvez rien à supprimer de vos chemins utilisateur et système, ajoutez le chemin utilisateur / AppData / Roaming / npm au chemin de l'environnement système et appelez-le un hack.

dthorpe
la source
1
J'ai passé des heures à essayer de faire fonctionner la commande gulp dans Windows, et c'est ce qui a finalement fonctionné pour moi. Alors merci!
MyNotes
4

J'étais confronté au même problème après l'installation. J'ai donc essayé de courir cmdavec des privilèges élevés (admin) et cela a fonctionné.

Capture d'écran:

cmd

Amit Sharma
la source
Le mode administrateur dans CMD l'a fait pour moi
Morten OC
J'ai essayé tout le reste. Mais une fois que j'ai exécuté l'invite de commande en mode administrateur, cela a fonctionné pour moi.
MindGame
Impaire - ne devrait pas nécessiter de privilèges d'administrateur. Cela pourrait fonctionner pour certains, mais quelque chose d'autre ne va pas (sans rapport avec Gulp) si cela l'exige.
vapcguy
4

Ajoutez ce chemin dans vos variables d'environnement CHEMIN C: \ Users \ USERNAME \ AppData \ Roaming \ npm \

Kranti123
la source
4

(Windows 10) Je n'aimais pas les réponses de chemin. J'utilise le gestionnaire de paquets choco pour node.js. Gulp ne tirerait pas pour moi à moins que ce ne soit:

  1. Rép installé et installé npm i -g gulp localement npm i --save-dev gulp

  2. Le problème a persisté au-delà de cette fois, ce qui a été résolu en supprimant complètement node.js et en le réinstallant.

Je n'ai vu aucun commentaire sur la suppression / réinstallation de local / global et node.js.

LAdams87
la source
3

C'est le plus souvent parce qu'il ne se trouve pas sur les variables d'environnement comme d'autres l'ont souligné. C'est ce qui a fonctionné pour moi.

echo% PATH%

Cela vous montrera quelle est votre variable d'environnement PATH. Si node_modules n'est pas là, procédez comme suit pour l'ajouter à partir de votre chemin APPDATA.

CHEMIN =% CHEMIN%; % APPDATA% \ npm

Illuminati
la source
C'est la seule bonne réponse ici. Définissez une variable NODE_PATH ET ajoutez-la à la variable PATH ou ajoutez directement le dossier npm global à votre variable PATH.
DevAntoine
3

J'ai déjà eu la seule condition de cette réponse (je ne sais pas pourquoi)

https://stackoverflow.com/a/27295145/1175496

Autrement dit, mon CHEMIN déjà inclus %APPDATA%\npm

Dans mon cas, le problème était que npm n'y installait pas de modules (encore une fois, je ne sais pas pourquoi)

Par conséquent, je devais faire ceci:

$ npm config set prefix -g %APPDATA%/npm

Après cela, l'exécution $ npm install -g gulp(ou l'installation de tout autre module) place le module à l'endroit où PATH l'attend.

Le pois rouge
la source
3

Cela fonctionne pour moi:

 npm link gulp
 npm update
vigne
la source
C'est ce qui a résolu le problème pour moi sur Windows 7.
Tom
3

Sur mon Windows 10 Enterprise, gulp n'était pas installé dans% AppData%, qui est C: \ Users \ username \ AppData \ npm \ node_modules sur ma machine, mais dans C: \ Users \ username \ AppData \ Local \ npm \ node_modules.

Pour que Gulp soit récupéré à l'invite de commande ou dans PowerShell, j'ai ajouté à l'utilisateur PATH la valeur C: \ Users \ username \ AppData \ Local \ npm . Après cela, cela a fonctionné comme un charme. Naturellement, j'ai dû fermer l'invite de commande ou la fenêtre PowerShell et la rouvrir pour que ce qui précède prenne effet.

David Scarfo
la source
2

La commande gulp n'a pas trouvé de problème dans Windows 10 et l'ajout de "% AppData% \ npm \ node_modules" ne fonctionne pas pour moi. Suivez ces étapes s'il vous plaît:

Après avoir fait

npm install -g npm

Et

npm install -g gulp

Ajouter

C:\Users\YourUsername\npm

vers le chemin dans les variables système.

Cela fonctionne pour moi après que toutes les solutions m'ont échoué.

A. Najafi
la source
2

Je résolus en ajoutant C:\Users\[USER]\AppData\Roaming\npm à PATH et non C:\Users\[USER]\AppData\Roaming\npm\node_modules

Marcos Cassiano
la source
1
Cette solution a déjà été publiée en décembre 2014 .
Louis
2

Courir npm install gulp -g

si vous utilisez Windows, veuillez ajouter le répertoire de gulp à PATH.

comme C:\Users\YOURNAME\AppData\Roaming\npm\node_modules\gulp

user5523785
la source
2

Dans les fenêtres:

  1. À l'aide de votre explorateur Windows, accédez à votre dossier partagé vagabond (j'utilise scotchbox au fait), par exemple C:\scotchbox/public/gulpProject
  2. Dans la barre d'adresse du dossier, saisissez cmdet appuyez surEnter
  3. Faites votre installation de gorgée npm install
Justis Matotoka
la source
2

En bref:

Vous devez ajouter %NODE_PATH%à la variable système Pathsi les autres réponses ne fonctionnent pas.

La raison:

Le fait est que l'invite de commande exécute uniquement les programmes sous la Pathvariable système , pas les variables utilisateur . Si vous avez NODE_PATHdéfini comme variable utilisateur, ajoutez %NODE_PATH%à Path.


J'ai demandé ici et j'ai obtenu un double pour une question avec une intention différente :(

NPM Windows n'exécute pas le programme sous le chemin de la variable utilisateur [doublon]

Daniel Cheung
la source
2

Sous Windows:

  1. Appuyez sur les deux touches suivantes: Windows + r
  2. Tapez control /name microsoft.systemdans la boîte de dialogue d'exécution qui apparaît à partir de l'étape précédente.

Boîte de dialogue d'exécution de Windows

  1. Sélectionnez Paramètres système avancés dans la gauche du volet de la fenêtre
  2. Cliquez sur l' onglet Avancé dans la zone des propriétés du système qui apparaît et cliquez sur le bouton Variables d'environnement .
  3. Modifiez lePATH variable d'environnement utilisateur.
  4. Cliquez sur Nouveau dans la fenêtre de modification de la variable d'environnement qui apparaît pour la PATHvariable et ajoutez ce qui suit: %APPDATA%\npmau début de la PATHvariable d'environnement (comme indiqué dans l'image ci-dessous).

Définition de la variable environnementale

  1. Fermez votre invite de commande et rouvrez-la.
JSON C11
la source