Nach der Installation von Gulp: "Kein Befehl 'gulp' gefunden"

250

Nach der Installation von gulp.js über npm wird eine no command 'gulp' foundFehlermeldung angezeigt , wenn der gulpBefehl aus demselben Verzeichnis ausgeführt wird, in dem er installiert wurde.

Wenn node_modules/.bin/ich unter das Verzeichnis schaue , kann ich dort die gulpausführbare Datei sehen.

Stimmt etwas mit meiner npm-Installation nicht?

Andrew McLagan
quelle
9
Haben Sie eine globale Installation durchgeführt? npm install gulp -g
Mukesh Soni
2
Ich habe das gleiche Problem. Ich habe eine globale Installation durchgeführt und immer noch nichts ...
iluvpinkerton
Dieser Link wird Ihnen sicherlich helfen, stackoverflow.com/a/45707907/5222115
murtuza hussain

Antworten:

476

Das ist völlig normal. Wenn Sie gulp-cliin der Befehlszeile verfügbar sein möchten , müssen Sie es global installieren.

npm install --global gulp-cli

Siehe die Installationsanleitung .

Auch node_modules/.bin/ist nicht in deinem $PATH. Es wird jedoch automatisch von npm hinzugefügt, wenn npm-Skripte ausgeführt werden (siehe diesen Blog-Beitrag als Referenz ).

So können Sie scriptsIhrer package.jsonDatei hinzufügen :

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

Sie können dann Schluckaufgaben ausführen npm run gulpoder npm run minifystarten.

Brian Clozel
quelle
2
Ich werde gebeten, npm install -g gulp als sudo (Root. Admin) auszuführen, aber wenn ich das tue, kann ich beim Beenden des normalen Benutzers den Befehl gulp nicht finden. Ich denke nicht, dass es gut ist, für alles, was ich möchte, dass meine Umgebung richtig funktioniert, in der Wurzel zu bleiben. Wer also wissen , was dieses Problem pls verursachen könnte ..
landete
Ich denke, es hängt alles davon ab, wie / wo der Knoten installiert wurde. Wenn Sie github.com/creationix/nvm verwenden , müssen Sie nicht root sein, um globale Bibliotheken zu installieren.
Brian Clozel
Ich glaube, ich habe das Installationsprogramm unter Mac OSX verwendet, um nodejs.org zu installieren. Ich kenne den Unterschied zwischen nodejs und node @ £ $ @ nicht
landete
3
Bitte denken Sie daran, dass gulp selbst kein globales Paket mehr ist. Stattdessen ist global-cli (npm -i -g gulp-cli) und dieser globale gulp sollte eigentlich zuerst deinstalliert werden!
Ricardo Magalhães
14

Ich habe das Problem gelöst, ohne den Knoten mit den folgenden Befehlen neu zu installieren:

$ npm uninstall --global gulp gulp-cli
$ rm /usr/local/share/man/man1/gulp.1
$ npm install --global gulp-cli
binz
quelle
1
Eine leicht aktualisierte Version davon funktionierte für mich, da ich NVM zum Verwalten meiner $ npm uninstall -g gulp gulp-cli $ rm /Users/[usrName]/.nvm/versions/node/[nodeVersion]/share/man/man1/gulp.1 $ npm install -g gulp-cli
Knotenumgebung verwende
12

Ich habe tatsächlich das gleiche Problem.

Dieser Link ist wahrscheinlich meine beste Vermutung:

nodejs vs node auf ubuntu 12.04

Ich habe das getan, um mein Problem zu lösen:

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
quelle
8
Sie brauchen auch, sudo ln -s /usr/bin/nodejs /usr/bin/nodeda so viele Apps / Pakete dort danach suchen.
Seth
1
Der ln -s [target] [name|directory]Befehl erstellt eine symbolische Verknüpfung ("Alias" oder "Verknüpfung"). Siehe linuxcommand.org/man_pages/ln1.html
definiert den
arbeitet immer noch nicht hier ... Mann, ich denke irgendwie, dass das trivial ist. Aber dieser Link von einer anderen SO-Seite hat die richtige Antwort bekommen. Führen Sie es einfach
swdev
6

Ich habe das Problem behoben, bei dem gulp entfernt und gulp-cli erneut installiert wurde:

rm /usr/local/bin/gulp
npm install -g gulp-cli
Yohanan Baruchel
quelle
1
Auch benötigt, um zu verwendensudo
App Dev Guy
3

Wenn dies immer noch nicht behoben ist, fügen Sie dies Ihren package.jsSkripten hinzu

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

npm run gulp Wenn Sie es ausführen , werden Gulp-Skripte aus gulpfile.js ausgeführt

Hanzla Habib
quelle
1

Installation auf einem Mac - Sierra - Nach zahlreichen fehlgeschlagenen Versuchen, gulp global über die Befehlszeile mithilfe verschiedener Anweisungen zu installieren und auszuführen, habe ich Folgendes zu meinem Pfad hinzugefügt und es hat funktioniert:

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

Ich habe diesen Pfad von der Textausgabe bei der Installation von gulp erhalten.

G-Man
quelle
0

Versucht mit Sudo und es hat funktioniert !!

sudo npm install --global gulp-cli
Sopo
quelle
0

Ich bin auf lubuntu 19.10

Ich habe eine Kombination aus vorherigen Antworten verwendet und die nicht optimiert $PATH.

  1. npm uninstall --global gulp gulp-cli Dadurch wird jedes Paket entfernt, wenn es bereits vorhanden ist.
  2. sudo npm install --global gulp-cli Installieren Sie es erneut als Root-Benutzer.

Wenn Sie kopieren und einfügen möchten

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

sollte arbeiten

Ich denke, es --globalist hier nicht notwendig, da es mit installiert wird sudo, aber ich habe es nur für den Fall verwendet.

Santimirandarp
quelle
0

In meinem Fall gab es nur ein Problem. Fügen Sie einfach "gulp": "gulp" in den Skriptabschnitt von package.json ein und verwenden Sie dann den Befehl npm run gulp.

israr
quelle