Après l'installation de Gulp: «aucune commande« gulp »n'a été trouvée»

250

Après avoir installé gulp.js via npm, je reçois une no command 'gulp' founderreur lors de l'exécution de la gulpcommande à partir du même répertoire dans lequel il a été installé.

Lorsque node_modules/.bin/je regarde sous le répertoire, je peux y voir l' gulpexécutable.

Y a-t-il un problème avec mon installation npm?

AndrewMcLagan
la source
9
avez-vous fait une installation globale? npm install gulp -g
Mukesh Soni
2
J'ai le même problème. J'ai fait une installation globale et toujours rien ...
iluvpinkerton
Ce lien vous aidera sûrement à stackoverflow.com/a/45707907/5222115
murtuza hussain

Réponses:

476

C'est parfaitement normal. Si vous voulez gulp-clidisponible sur la ligne de commande, vous devez l'installer globalement.

npm install --global gulp-cli

Voir les instructions d'installation .

Aussi, node_modules/.bin/n'est pas dans votre $PATH. Mais il est automatiquement ajouté par npm lors de l'exécution de scripts npm (voir ce billet de blog pour référence ).

Vous pouvez donc ajouter scriptsà votre package.jsonfichier:

{
    "name": "your-app",
    "version": "0.0.1",
    "scripts": {
        "gulp": "gulp",
        "minify": "gulp minify"
    }
}

Vous pouvez ensuite exécuter npm run gulpou npm run minifylancer des tâches gulp.

Brian Clozel
la source
2
On me demande d'exécuter npm install -g gulp en tant que sudo (Root. Admin) mais si je le fais alors quand je quitte l'utilisateur normal, il ne trouve pas la commande gulp. Je ne pense pas que ce soit bon de rester à la racine pour tout ce que je préfère faire fonctionner correctement mon environnement. Donc, n'importe qui sait ce qui pourrait causer ce problème pls ..
atterri le
Je suppose que tout dépend de la façon dont / où le nœud a été installé. Lorsque vous utilisez github.com/creationix/nvm , vous n'avez pas besoin d'être root pour installer les bibliothèques globales.
Brian Clozel
Je pense que j'ai utilisé l'installateur sur mac OSX pour installer nodejs.org Je ne connais pas la différence entre nodejs et node @ £ $ @
atterri le
3
Veuillez garder à l'esprit que gulp lui-même n'est plus un package global. Au lieu de cela, global-cli est (npm -i -g gulp-cli) et cette gulp globale doit en fait être désinstallée en premier!
Ricardo Magalhães
14

J'ai résolu le problème sans réinstaller le nœud à l'aide des commandes ci-dessous:

$ npm uninstall --global gulp gulp-cli
$ rm /usr/local/share/man/man1/gulp.1
$ npm install --global gulp-cli
binz
la source
1
Une version légèrement mise à jour de cela a fonctionné pour moi, car j'utilise NVM pour gérer mon environnement Node:$ npm uninstall -g gulp gulp-cli $ rm /Users/[usrName]/.nvm/versions/node/[nodeVersion]/share/man/man1/gulp.1 $ npm install -g gulp-cli
JustJen
12

J'ai en fait le même problème.

Ce lien est probablement ma meilleure estimation:

nodejs vs node sur ubuntu 12.04

Je l'ai fait pour résoudre mon problème:

sudo apt-get --purge remove node 
sudo apt-get --purge remove nodejs 
sudo apt-get install nodejs
sudo ln -s /usr/bin/nodejs /usr/bin/node
guboi
la source
8
Vous en avez également besoin, sudo ln -s /usr/bin/nodejs /usr/bin/nodecar de nombreuses applications / packages le recherchent.
Seth
1
La ln -s [target] [name|directory]commande crée un lien symbolique ("alias" ou "raccourci"). Voir linuxcommand.org/man_pages/ln1.html
définit le
ne fonctionne toujours pas ici ... Mec, je pense un peu que c'est trivial. Mais ce lien d'une autre page SO a obtenu la bonne réponse. Il suffit de l'exécuter localement stackoverflow.com/questions/36457377/…
swdev
6

J'ai résolu le problème de suppression de gulp et d'installation de gulp-cli à nouveau:

rm /usr/local/bin/gulp
npm install -g gulp-cli
Yohanan Baruchel
la source
1
Également nécessaire pour utilisersudo
App Dev Guy
3

s'il n'est toujours pas résolu, essayez de l'ajouter à vos package.jsscripts

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

et l'exécuter exécutera les npm run gulp scripts gulp de gulpfile.js

Hanzla Habib
la source
1

Installation sur un Mac - Sierra - Après de nombreuses tentatives infructueuses pour installer et exécuter gulp globalement via la ligne de commande en utilisant plusieurs instructions différentes, j'ai trouvé que j'ai ajouté ceci à mon chemin et cela a fonctionné:

export PATH=/usr/local/Cellar/node/7.6.0/libexec/npm/bin/:$PATH

J'ai obtenu ce chemin à partir de la sortie de texte lors de l'installation de gulp.

G-Man
la source
0

J'ai essayé avec sudo et ça a fonctionné !!

sudo npm install --global gulp-cli
Sopo
la source
0

Je suis sur lubuntu 19.10

J'ai utilisé une combinaison de réponses précédentes et je n'ai pas modifié le $PATH.

  1. npm uninstall --global gulp gulp-cli Cela supprime tous les packages s'ils sont déjà là.
  2. sudo npm install --global gulp-cli Réinstallez-le en tant qu'utilisateur root.

Si vous voulez faire du copier-coller

npm uninstall --global gulp gulp-cli && sudo npm install --global gulp-cli 

devrait marcher

Je suppose que --globalc'est inutile ici car il est installé en utilisant sudo, mais je l'ai utilisé juste au cas où.

Santimirandarp
la source
0

dans mon cas, il n'y avait qu'un problème, il suffit de mettre "gulp": "gulp" dans la partie script, de package.json, puis d'utiliser la commande npm run gulp.

israr
la source