Ich habe gulp (global) installiert und es sieht so aus, als hätte es funktioniert, weil es diesen Code ausgeführt hat:
├── tildify@0.2.0
├── interpret@0.3.5
├── pretty-hrtime@0.2.1
├── deprecated@0.0.1
├── archy@0.0.2
├── minimist@0.2.0
├── semver@2.3.2
├── orchestrator@0.3.7 (stream-consume@0.1.0, sequencify@0.0.7, end-of-stream@0.1.5)
├── chalk@0.5.1 (escape-string-regexp@1.0.1, ansi-styles@1.1.0, supports-color@0.2.0, strip-ansi@0.3.0, has-ansi@0.1.0)
├── gulp-util@2.2.20 (lodash._reinterpolate@2.4.1, dateformat@1.0.8-1.2.3, vinyl@0.2.3, through2@0.5.1, multipipe@0.1.1, lodash.template@2.4.1)
├── liftoff@0.12.0 (extend@1.2.1, minimist@0.1.0, resolve@0.7.4, findup-sync@0.1.3)
└── vinyl-fs@0.3.5 (graceful-fs@3.0.2, lodash@2.4.1, mkdirp@0.5.0, strip-bom@0.3.1, vinyl@0.2.3, through2@0.5.1, glob-watcher@0.0.6, glob-stream@3.1.14)
Aber wenn ich tippe gulp
, heißt es-bash: gulp: command not found
Irgendeine Idee, was los ist?
sudo install gulp -g
. das hat funktioniertAntworten:
Es stellte sich heraus, dass npm im falschen Verzeichnis installiert wurde, sodass ich das "npm config prefix" ändern musste, indem ich diesen Code ausführte:
Dann habe ich gulp global neu installiert (mit dem Parameter -g) und es hat richtig funktioniert.
In diesem Artikel habe ich die Lösung gefunden: http://webbb.be/blog/command-not-found-node-npm
quelle
Ich bin mir nicht sicher, warum die Frage abgelehnt wurde, aber ich hatte das gleiche Problem und nach dem Blog-Beitrag wurde empfohlen, das Problem zu lösen. Eine Sache, die ich hinzufügen sollte, ist, dass in meinem Fall, sobald ich lief:
Ich bestätigte das
npm root -g
zeigte auf/usr/local/lib/node_modules/npm
, aber zu installieren , umgulp
in/usr/local/lib/node_modules
, ich hatte zu verwendensudo
:sudo npm install gulp -g
quelle
npm config set prefix /usr/local
Gelöstes Problem!Wenn Sie verwenden
tcsh
(dies ist meine Standard-Shell unter Mac OS X), müssen Sie wahrscheinlichrehash
erst nach Abschluss der Installation Folgendes in die Shell eingeben:gefolgt von:
Wenn Sie dies zum ersten Mal installieren
gulp
, erkennt Ihre Shell möglicherweise nicht, dass eine neue ausführbare Datei installiert ist. Sie müssen also entweder eine neue Shell starten oderrehash
die aktuelle Shell eingeben.(Dies ist im Grunde eine einmalige Sache für jeden Befehl, den Sie global installieren.)
quelle
Mir ist klar, dass dies ein alter Thread ist, aber für Future-Me und die Nachwelt dachte ich, ich sollte meine zwei Cent um die Diskussion "Running Npm as Sudo" hinzufügen. Haftungsausschluss: Ich benutze kein Windows. Diese Schritte wurden nur auf virtuellen und physischen Nicht-Windows-Computern bewiesen.
Sie können die Verwendung von sudo vermeiden, indem Sie die Berechtigung in das Standardverzeichnis von npm ändern.
Gewusst wie: Ändern von Berechtigungen, um npm ohne auszuführen
sudo
Schritt 1: Finden Sie heraus, wo sich das Standardverzeichnis von npm befindet.
npm config get prefix
Schritt 2: Fahren Sie fort, basierend auf der Ausgabe dieses Befehls:
/usr/local
Für die meisten Benutzer zeigt Ihre Ausgabe, dass das Standardverzeichnis von npm / usr / local ist. In diesem Fall können Sie mit Schritt 4 fortfahren, um die Berechtigungen für das Verzeichnis zu aktualisieren.
/usr
oder/Users/YOURUSERNAME/node_modules
oder/Something/Else/FishyLooking
Wenn Sie feststellen, dass das Standardverzeichnis von npm nicht / usr / local ist, sondern etwas, das Sie nicht erklären können oder das nicht gut aussieht, sollten Sie mit Schritt 3 fortfahren, um das Standardverzeichnis für npm zu ändern. oder Sie riskieren, Ihre Berechtigungen in einem viel größeren Maßstab durcheinander zu bringen.
Schritt 3: Ändern Sie das Standardverzeichnis von npm:
npm config set prefix /usr/local
Schritt 4: Aktualisieren Sie die Berechtigungen für das Standardverzeichnis von npm:
sudo chown -R $(whoami) $(npm config get prefix)/{lib/node_modules,bin,share}
Jetzt solltest du
npm <whatever>
ohne laufen könnensudo
. Hinweis: Möglicherweise müssen Sie Ihr Terminal neu starten, damit diese Änderungen wirksam werden.quelle
Ich hatte ein ähnliches Problem. Ich habe die folgenden Schritte ausgeführt und es hat funktioniert. Gehen Sie zum Mac-Terminal und führen Sie die Befehle aus.
1.npm config set prefix / usr / local
2.sudo chown -R $ (whoami) $ (npm config erhält Präfix) / {lib / node_modules, bin, share}
Diese beiden Befehle setzen den npm-Pfad richtig und Sie müssen sudo nicht mehr in npm verwenden. Als nächstes deinstallieren Sie den Schluck
npm deinstallieren gulp
Installiere gulp erneut ohne sudo, npm installiere gulp -g
Das sollte funktionieren!!
quelle
Ich hatte das Problem, dass nach der Installation "Befehl nicht gefunden" angezeigt wurde, aber ich wurde in / usr / local installiert, wie in der obigen Lösung beschrieben.
Mein Problem schien dadurch verursacht zu werden, dass ich die Installation mit sudo ausführte. Ich habe folgendes getan.
quelle
Sie müssen dies tun
npm install --global gulp
. Es funktioniert bei mir und ich hatte auch dieses Problem. Dies liegt daran, dass Sie dieses Paket nicht global installiert haben.quelle
Wenn Sie einen Mac ausführen, verwenden Sie das Root-Privileg
sudo npm install gulp-cli --global
Um zu überprüfen, ob es installiert ist, führen Sie es aus
CLI-Version: 2.2.0 (Die Ausgabe)
quelle
Ich habe dies unter Win10 mit einer Kombination der Antworten von oben und anderswo zum Laufen gebracht. Poste hier für andere und zukünftige mich.
Ich habe die Anweisungen von hier aus befolgt: https://gulpjs.com/docs/en/getting-started/quick-start, aber im letzten Schritt nach der Eingabe von gulp --version wurde die Meldung -bash: gulp: Befehl nicht gefunden
Um dies zu beheben:
Im Folgenden finden Sie auch Gründe, warum Sie gulp nicht global installieren und entfernen sollten (nicht sicher, ob dies jedoch ratsam ist):
Wofür steht gulp- "cli"?
Wie deinstalliere ich Gulp CLI von NPM weltweit?
quelle
In meinem Fall das Hinzufügen von sudo vor npm install gelöst gulp Befehl nicht gefunden Problem
sudo npm install
quelle
Wenn Sie Ihr Präfix intakt lassen möchten, exportieren Sie einfach das bin-Verzeichnis in Ihre PATH-Variable:
export PATH=$HOME/your-path/bin:$PATH
Ich habe diese Zeile zu meinem $ HOME / .profile hinzugefügt und sie bezogen.
Wenn Sie das Präfix so einstellen,
/usr/local
dass Sie es verwendensudo
, möchte ich es in meinem Benutzerverzeichnis haben. Sie können Ihr Präfix mit überprüfennpm prefix -g
.quelle