it-swarm.com.de

Gulp-Befehl nach der Installation nicht gefunden

87
iluvpinkerton

Es stellte sich heraus, dass npm im falschen Verzeichnis installiert wurde. Daher musste ich das Präfix "npm config" durch Ausführen des folgenden Codes ändern:

npm config set prefix /usr/local

Dann habe ich gulp global neu installiert (mit dem Parameter -g param) und es hat richtig funktioniert.

In diesem Artikel habe ich die Lösung gefunden: http://webbb.be/blog/command-not-found-node-npm

154
iluvpinkerton

Ich bin nicht sicher, warum die Frage abgelehnt wurde, aber ich hatte das gleiche Problem, und im Anschluss an den Blogpost wurde empfohlen, das Problem zu lösen. Eine Sache, die ich hinzufügen sollte, ist in meinem Fall, wenn ich einmal gelaufen bin:

npm config set prefix /usr/local

Ich habe bestätigt, dass npm root -g auf /usr/local/lib/node_modules/npm verweist, aber um gulp in /usr/local/lib/node_modules zu installieren, musste ich Sudo verwenden:

Sudo npm install gulp -g

50
thehme

Wenn Sie tcsh verwenden (das ist meine Standard-Shell unter Mac OS X), müssen Sie wahrscheinlich nur rehash in die Shell eingeben, kurz nachdem die Installation abgeschlossen ist:

npm install -g gulp

unmittelbar gefolgt von:

rehash

Wenn Sie gulp zum ersten Mal installieren, erkennt die Shell möglicherweise nicht, dass eine neue ausführbare Datei installiert ist. Sie müssen entweder eine neue Shell starten oder rehash in die aktuelle Shell eingeben.

(Dies ist im Grunde eine einmalige Sache für jeden Befehl, den Sie global installieren.)

20
Steve Goldberg

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 Sudo auszuführen

Schritt 1: Finden Sie heraus, wo sich das Standardverzeichnis von npm befindet.

  • Öffnen Sie dazu Ihr Terminal und führen Sie Folgendes aus:
    npm config get prefix

Schritt 2: Fahren Sie fort, basierend auf der Ausgabe dieses Befehls:

  • Szenario 1: Das Standardverzeichnis von npm ist /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.
  • Szenario 2: npms Standardverzeichnis ist /usr Oder /Users/YOURUSERNAME/node_modules Oder /Something/Else/FishyLooking
    Wenn Sie feststellen, dass das Standardverzeichnis von npm nicht/usr/local ist, sondern etwas ist, das Sie nicht erklären können oder das faul 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 zu verfälschen.

Schritt 3: Ändere das Standardverzeichnis von npm:

  • Es gibt einige Möglichkeiten, dies zu tun, einschließlich der Erstellung eines Verzeichnisses speziell für globale Installationen und des anschließenden Hinzufügens dieses Verzeichnisses zu Ihrem $ PATH. Da sich jedoch/usr/local wahrscheinlich bereits in Ihrem Pfad befindet, ist es meiner Meinung nach einfacher, nur die npm-Werte zu ändern Standardverzeichnis dafür. So ähnlich: npm config set prefix /usr/local
    • Weitere Informationen zu den anderen von mir erwähnten Ansätzen finden Sie in den npm-Dokumenten hier .

Schritt 4: Aktualisieren Sie die Berechtigungen für das Standardverzeichnis von npm:

  • Sobald Sie überprüft haben, dass sich das Standardverzeichnis von npm an einem vernünftigen Ort befindet, können Sie die Berechtigungen mit dem folgenden Befehl aktualisieren:
    Sudo chown -R $(whoami) $(npm config get prefix)/{lib/node_modules,bin,share}

Jetzt sollten Sie in der Lage sein, npm <whatever> Ohne Sudo auszuführen. Hinweis: Möglicherweise müssen Sie Ihr Terminal neu starten, damit diese Änderungen wirksam werden.

16
sgray

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 setze das Präfix/usr/local

2.Sudo chown -R $ (whoami) $ (npm config-Präfix erhalten)/{lib/node_modules, bin, share}

Mit diesen beiden Befehlen wird der npm-Pfad nach rechts gesetzt, und Sie müssen Sudo nicht mehr in npm ..__ verwenden

  1. npm deinstallieren gulp

  2. Installieren Sie gulp erneut ohne Sudo, Npm install gulp -g

Das sollte funktionieren!!

4
Atul Kumar

Ich hatte dieses Problem, weil 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 durch das Ausführen der Installation mit Sudo verursacht zu sein. Ich habe folgendes getan.

  1. Schluck mit Sudo wieder entfernen
  2. Ändern Sie den Besitzer von/usr/local/lib/node_modules in meinen Benutzer
  3. Gulp erneut ohne Sudo installieren. "npm install gulp -g"
4
Zack Huston

Sie müssen diesen npm install --global gulp tun. Es funktioniert für mich und ich hatte auch dieses Problem. Es liegt daran, dass Sie dieses Paket nicht global installiert haben. 

3
Sergey Andreev

In meinem Fall wurde durch Hinzufügen von Sudo vor npm das gulp-Befehl nicht gefunden Problem behoben

Sudo npm install

0
Balram Singh

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 auf /usr/local setzen, verwenden Sie Sudo, sodass ich es in meinem Benutzerverzeichnis haben möchte. Sie können Ihr Präfix mit npm prefix -g überprüfen.

0
Altair

Ich habe diese Arbeit an Win10 mit einer Kombination der Antworten von oben und anderswo. Poste hier für andere und kehre zu mir zurück.

Ich habe die Anweisungen von hier aus befolgt: https://gulpjs.com/docs/en/getting-started/quick-start Beim letzten Schritt nach der Eingabe von gulp --version habe ich die Nachricht -bash erhalten : gulp: Befehl nicht gefunden

So beheben Sie das:

  1. Ich habe% AppData%\npm zu meiner Umgebungsvariablen Path hinzugefügt
  2. Alle gitbash (cmd, powershell, etc ...) geschlossen und gitbash neu gestartet.
  3. Dann hat gulp --version funktioniert

Im Folgenden finden Sie auch Gründe, warum Sie gulp nicht global installieren und wie Sie es entfernen sollten (Sie sind sich nicht sicher, ob dies ratsam ist):

wofür steht gulp- "cli"?

Wie deinstalliere ich Gulp CLI von NPM global?

0
Tony Lisanti