polecenie gulp nie znalezione - błąd po zainstalowaniu gulp


223

Zainstalowałem gulp zarówno globalnie, jak i lokalnie

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

Kiedy próbuję uruchomić gulp, dostaję

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

Uruchamiam gulp z listą npm (lub -g), gulp@3.7.0z lokalizacją mojej globalnej lub lokalnej instalacji gulp.

Próbowałem uruchomić node gulpfile.jswskazał mój plik gulp, i działa bezbłędnie i oczywiście zaczyna się od require('gulp').

Jakieś sugestie na temat przełknięcia gula w systemie Windows (8.1)?


1
Nie używam łyka w systemie Windows, ale próbowałeś npm install gulp --save-dev?
soenguy

2
@soenguy, który tego nie rozwiąże
SteveLacy

@pedalpete czy moja odpowiedź rozwiązała twoje pytanie? Proszę zaznaczyć, jeśli tak
SteveLacy

Miałem ten problem, dopóki KOMPLETNIE nie usunąłem node.js i nie ponownie zainstalowałem / ponownie uruchomiłem komputer. Otrzymywałem różnego rodzaju dziwne błędy z wtyczek mojego węzła.
LAdams87

Ostatnio napotkałem ten problem: okazuje się, że jedyną rzeczą, o której zapomniałem, było dodanie folderu, w którym gulpznajduje się program wykonywalny , do zmiennej% PATH% w systemie Windows. W moim przypadku:%AppData%\Roaming\npm
AdrienW

Odpowiedzi:


239

Zapomniałeś zainstalować pakiet gulp-cli:

npm install -g gulp-cli

Następnie możesz uruchomić polecenie „gulp” z wiersza poleceń.


Tak, po zmianie rejestru nie zadziałało, to zadziałało: ')
edencorbin

Ten kawałek nie był nawet objęty naszym artefaktem do pobrania, więc nie mogłem go zmusić do zainstalowania.
vapcguy

To rozwiązało problem z samouczkiem „Naucz się Bootstrap 4 Final w 2018 roku dzięki naszemu darmowemu kursowi Crash Course”. Umieszczę link do tej odpowiedzi w tym samouczku dla osób, które mogą mieć ten sam problem
Enrique Bruzual

221

Problem i odpowiedź można znaleźć w tym pytaniu: https://stackoverflow.com/a/9588052/1041104

Moduły npm, takie jak gulp, nie są instalowane na ścieżce. Dlatego nie można ich znaleźć po uruchomieniu ich w CMD.

Jeśli gulp został zainstalowany globalnie, możesz skorzystać z poniższego procesu:

  1. Utwórz zmienną środowiskową o nazwie NODE_PATH
  2. Ustaw na: %AppData%\npm\node_moduleslub %AppData%\npmw Windows 8-10
  3. Zamknij CMD i otwórz ponownie, aby uzyskać nowe zmienne ENV

Dodaj ścieżkę węzła do zmiennych środowiskowych

Działa npm lsi npm ls -gpokazuje, że są zainstalowane, ale CMD nie może ich znaleźć z powodu the missing link.


14
Myślę jednak, że należy zauważyć, że podana odpowiedź NIE DZIAŁA, jeśli gulp nie został zainstalowany na całym świecie. folder% AppData% \ npm podczas pierwszej instalacji jest całkowicie pusty, a jeśli instalujesz gulp tylko w folderze projektu bez użycia opcji -g, nie umieszcza on pliku wsadowego w \ npm \ ani jego plików w \ npm \ node_modules. Tak więc w rzeczywistości OBECNE odpowiedzi tutaj są konieczne.
Évelyne Lachance

8
Próbowałem tego i nadal nie działało to dla mnie, dopóki nie zdałem sobie sprawy, że moja nazwa zmiennej środowiskowej „Ścieżka” jest wielka, a nie „ŚCIEŻKA” (wielkimi literami). Zmodyfikowałem „Ścieżkę” do „ŚCIEŻKI” i dodałem mój katalog npm na początku, jak w odpowiedzi @CIAODO. Z jakiegoś powodu „% AppData% \ Roaming \ npm nie działało dla mnie, więc musiałem użyć pełnej ścieżki:„ C: \ Users \ [nazwa.użytkownika] \ AppData \ Roaming \ npm; ”. W połączeniu z tą odpowiedzią zadziałało dla mnie
R Brill,

% AppData% \ Roaming \ npm też nie działał dla mnie, musiałem także użyć pełnej ścieżki: „C: \ Users [nazwa.użytkownika] \ AppData \ Roaming \ npm;”
user2345998,

31
dodanie% AppData% \ npm do PATH działało dla mnie (Windows 10)
outofBounds

Próbowałem tego, ale to nie działało, ale po ponownym uruchomieniu komputera działało. Nie wiem co się stało.
lyhong,

86
  1. Upewnij się, że masz łyk i (użyj wyszukiwania w systemie gulp.cmd Windows)
  2. Skopiuj ścieżkę gulp.cmd ( C:\Users\XXXX\AppData\Roaming\npm)
  3. Dodaj tę ścieżkę do zmiennej środowiskowej Ścieżki lub edytuj PATHzmienną środowiskową i dodaj%APPDATA%\npm
  4. Ponownie otwórz cmd.

Dodaj %APPDATA%\npmdo przodu ścieżki, a nie do końca ścieżki.


7
Dodaj% APPDATA% \ npm na początku ścieżki, a nie na końcu ścieżki.
Habib Adıbelli,

Dziękuję @CIAODO! moja ścieżka miała bzdury z wcześniejszej instalacji węzła do celów testowych, a twój komentarz pomógł mi ją wyśledzić. :)
Edward

Po prostu nagle przestał działać dla mnie, myślę, że po zmianie innych zmiennych PATH. Twoje pierwsze rozwiązanie było dla mnie jedyne. Dzięki.
Martin Dawson,

45
  1. Zainstaluj gulp globalnie.

    npm install -g gulp

  2. Zainstaluj gulp lokalnie w projekcie.

    npm install gulp

  3. Dodaj poniższy wiersz w pliku package.json

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

  4. Uruchom łyk.

    npm run gulp

To zadziałało dla mnie.


Po wykonaniu kroku 4 nie zadziałało to dla mnie - po prostu nic nie wyświetlało (przynajmniej widoczne). Jeśli zrobię to zaraz gulppotem, to zadziała.
vapcguy

Znakomity. To było rozwiązanie mojego nieudanego procesu kompilacji, który polegał na Gulp w AppVeyor. Raczej użyłem czegoś takiego "package": "gulp build".
Kredki,

32

Korzystam z systemu Windows 8.1. Miałem ten sam problem.

Zainstalowałem gulp za pomocą wiersza polecenia Node.js

npm install -g gulp

Następnie przejdź do wymaganego katalogu w wierszu polecenia Node.js i spróbuj

gulp -v

Jeśli pojawi się niewykrywalna wersja lokalna gulp, wyjdź z bieżącego wiersza polecenia Node.js i wypróbuj powyższe polecenie w nowym wierszu polecenia Node.js

Próbowałem NODE_PATH wspomniany przez @SteveLacy, ale wiersz polecenia nadal nie był w stanie wykryć polecenia gulp


7
Nie jestem zwycięzcą, ale myślę, że twoja odpowiedź nie rozwiązuje (ani nie próbuje rozwiązać) problemu.
Edu Ruiz,

1
nie działa OP wspomniał, że zostało to wypróbowane. Natknąłem się na ten sam problem, wypróbowałem go i to nie rozwiązuje problemu.
SCBuergel.eth

Czy to daje odpowiedź? Cóż, to rozwiązało mój problem! wielkie dzięki
Radim Köhler,

Nie ma w tym nawet odpowiedzi. To było pytanie w pierwszej kolejności.
Vik

To rozwiązanie działało dla mnie. Nienawidzący będą nienawiedzieć.
TombMedia,

27

Miałem ten sam problem, niezbyt najlepsze rozwiązanie, ale zainstaluj go globalnie:

npm install -g gulp

Oczywiście najlepiej jest nadal go mieć package.json, więc możesz wykonać następujące czynności, aby zainstalować go lokalnie i dodać wpis w package.json:

npm install --save-dev gulp

Cała reszta (wtyczki gulp) instaluje się także lokalnie.



17

Miałem ten sam problem, gdy próbowałem nakłonić do przełknięcia pracy na maszynie wirtualnej współpracowników. Wygląda na to, że problem wynika z folderu użytkowników.

Dodanie NODE_PATH do moich zmiennych środowiskowych nie rozwiązało problemu.

Jeśli zmodyfikujesz zmienną „Ścieżka” w zmiennych systemowych i dodasz „% APPDATA% \ npm” na końcu, powinno to rozwiązać problem ... Chyba że ty lub ktoś inny npm zainstalowałeś gulp jako inny użytkownik niż ten, którego ty obecnie jestem zalogowany jako.

Jeśli chcesz, aby był dostępny dla wszystkich użytkowników, wpisz jawnie „C: \ Users \ yourUser \ AppData \ Roaming \ npm” (lub gdziekolwiek masz łyk) zamiast używać „% APPDATA% \ npm”. Możesz także przenieść pliki na ścieżkę bardziej obojętną dla użytkownika.

Nie zapomnij uruchomić nowego monitu cmd, ponieważ ten, który masz otwarty, nie otrzyma automatycznie nowej zmiennej „Ścieżka”.

Teraz „przełknij”.


16

Jeden właściwy sposób:

  1. Cmd + R: wpisz „% appdata%”
  2. Przejdź do folderu npm
  3. Skopiuj całą ścieżkę, np. „C: \ Users \ Blah ... \ npm \”
  4. Przejdź do Mój komputer + kliknij prawym przyciskiem myszy „Właściwości”
  5. Zaawansowane ustawienia systemu (po lewej)
  6. Kliknij Zmienne środowiskowe
  7. Kliknij Edytuj ścieżkę
  8. Dodaj „C: \ Users \ Blah ... \ npm \” na końcu i wpisz „;” po tym
  9. Kliknij OK i ponownie otwórz cmd

Myślę, że wszystko jest dobrze wyjaśnione tutaj i powinno być pierwszą rzeczą, którą należy wypróbować, gdy zobaczysz gulp' is not recognizedw oknach
Edu Ruiz

najważniejsze jest dodanie ";"na końcu. inaczej to nie zadziała
fuser

13

Najpierw zainstaluj gulpjako globalny, używając:

npm install gulp -g

W przeciwnym razie rozwiązanie ścieżki nie rozwiąże problemu.

Następnie dodaj ścieżkę modułów npm do PATH, używając:

PATH = %PATH%;%APPDATA%\npm

Czy dodane przez Ciebie informacje różnią się wyraźnie od tych, które dają pozostałe 33 odpowiedzi? Moje wrażenie brzmi „nie”, w takim przypadku prawdopodobnie nie powinieneś był dodać odpowiedzi.
Jonathan Leffler

1
Próbowałem wielu z nich bez powodzenia i wymyśliłem potrzebę zainstalowania globalnego gulp, aby uniknąć tego samego bólu, dodałem tę odpowiedź
Badr Bellaj

12

W moim przypadku było to, że musiałem zainstalować gulp-cli z polecenia npm -g install gulp-cli


9

Spróbuj dodać do zmiennej PATH:

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

Miałem ten sam problem i rozwiązałem dodawanie ścieżki do moich modułów węzłów.


8

Miałem podobny problem z konfiguracją go w systemie Windows 10. Moja odpowiedź jest specyficzna dla systemu Windows (spójrz na odpowiedzi dotyczące modyfikacji ścieżki w bash dla systemu Linux lub OSX)

Podstawowym problemem, jaki miałem, było to, że folder npm nie został zarejestrowany na ścieżce. Początkowo próbowałem zmienić to w wierszu polecenia cmd.

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

Zauważ, że użyłem setx zamiast set, aby upewnić się, że aktualizacja do zmiennej środowiskowej pozostanie. Pamiętaj również, że jest to odwrotny ukośnik.

To powinno zadziałać, ale dla mnie nie zadziałało, ponieważ setx ma limit akceptowania tylko 1024 znaków ... (tak, dla mnie to również nonsens).

Więc wypróbuj powyższe, a jeśli pojawi się ostrzeżenie o osiągnięciu limitu 1024, możesz zrobić w inny sposób, w jaki skończyłem.

Najpierw, gdy jesteś jeszcze w konsoli, wpisz: echo %appdata%\npm... to jest twój folder npm, który chcesz dodać do ścieżki, więc dodaj go do schowka.

Musisz wejść do rejestru i dotrzeć do następującego folderu:

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

Następnie dodaj wartość „Ścieżka” do ścieżki folderu npm w schowku. Uruchom ponownie, aby aktywować nową wartość. Teraz powinieneś już iść.

przy użyciu regedit

Na koniec po prostu przetestuj to wszystko

>npm install -g gulp
>gulp

1
Tak!!! Wreszcie! Wszędzie szukałem czegoś, co mogłoby pomóc. Prawie wszystkie odpowiedzi mówią, aby zainstalować go globalnie i powinien działać. Zainstalowałem, odinstalowałem, ponownie zainstalowałem, wyczyściłem pamięć podręczną itp. W końcu to zadziałało. Dziękuję Ci!
Josh

@Josh, cieszę się, że mogłem cię uruchomić. Konfigurowanie środowiska to ab * tch. Myślę, że przełączyłem się na Maca głównie z powodu tych małych dziwactw podczas używania powłoki systemu Windows.
ThinkBonobo,

Najgorsze jest to, że konfigurowałem go od miesięcy. Działa dobrze. Potem programuję pewnego dnia i moje polecenia nie są rozpoznawane. Przeszukuję Internet w poszukiwaniu wszystkiego, co może pomóc. Wszyscy mówią to samo. Potem przyjdź i BAM! To działa. Rozumiem, dlaczego miałbyś przejść na OSX. Nigdy wcześniej nie miałem takich dziwactw w OSX. Ale jestem zbyt oddany systemowi Windows.
Josh

1
dobrze dla ciebie, wierzę, że Windows 10 przyjmuje natywną powłokę bash. Powinno to ułatwić życie dla niektórych z tych narzędzi.
ThinkBonobo,

Działa dla mnie w systemie Windows Server 2008, dziękuję bardzo!
manix

6

Skończyło się to na problemie „użytkownika” ze mną. Zainstalowałem npm i węzeł w systemie zalogowanym jako użytkownik1, a następnie skonfigurowałem użytkownika2. Mogłem uruchomić węzeł i mogłem uruchamiać polecenia npm, ale nie mogłem uruchamiać żadnych pakietów npm z wiersza poleceń.

Odinstalowałem węzeł i npm i ponownie zainstalowałem pod właściwym użytkownikiem, aby rozwiązać problem. Potem mogę bez problemu uruchamiać pakiety z wiersza poleceń.


Dla mnie to samo, pozostałe odpowiedzi nie działały - ponowna instalacja węzła i npm wykonała pracę
mfeineis

6

Najlepsza odpowiedź nie działała dla mnie.

Używam maszyny wirtualnej, która miała poprzedniego właściciela. Poprzedni właściciel miał zainstalowaną starą wersję npm. Korzystając z tego, zainstalowałem gulp na całym świecie npm install -g gulp. Uruchomienie polecenia gulppowróci 'gulp' is not recognized as an internal or external command, operable program or batch file.. Jak powiedziałem, najlepsza odpowiedź nie rozwiązała mojego problemu. Zasadniczo musiałem ponownie zainstalować nodejs.

Rozwiązanie

  1. Ponownie pobierz nodejs
  2. npm install -g gulp
  3. gulp -version

To rozwiązało problem.


2
Polecam używanie nvm do przełączania wersji węzłów: github.com/creationix/nvm
anztenney

@ chrisyo8989 - niesamowite .. to zadziałało dla mnie bez wpływu na środowisko Dzięki! Nienawidzę z nimi gadać!
gcoleman0828

4

Miałem v0.12.3 Nodejsa na Win7 x64 i napotkałem podobne problemy, kiedy próbowałem zainstalować gulp. To działało dla mnie:

  1. Odinstalowany Nodejs
  2. Zainstalowano Nodejs v0.10.29
  3. npm install -g npm
  4. npm install -g gulp

1
Użyłem właśnie npm install -g npmi npm install -g gulpwszystko wraca do normy
Edu Ruiz,

Polecam używanie nvm do przełączania wersji węzłów: github.com/creationix/nvm
anztenney

4

Wygląda na to, że instalator NodeJS dodaje ścieżkę użytkownika / AppData / Roaming / npm do ścieżki środowiska użytkownika, co jest odpowiednie.

Zwykle zmienna środowiskowa PATH w wierszu komend jest kombinacją ścieżki środowiska użytkownika i ścieżki środowiska systemowego.

Jeśli jednak ścieżka środowiska użytkownika + ścieżka środowiska systemowego jest dłuższa niż około 1920 znaków, system Windows nie łączy ścieżek użytkownika i ścieżek systemowych - używana jest tylko ścieżka środowiska systemowego.

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

Tak więc po otwarciu Zaawansowanych ustawień systemu w systemie Windows w celu edycji zmiennych środowiskowych sprawdź, czy ścieżka użytkownika / AppData / Roaming / npm znajduje się już w ścieżce środowiska użytkownika PATH. Jeśli tak, problem polega na tym, że ścieżki użytkownika + ścieżki systemowe są za długie, co powoduje, że system Windows ignoruje ścieżkę użytkownika. Przytnij ciągi ścieżki użytkownika i / lub ścieżki systemu, a gulp powinien działać tak, jak zainstalowany.

Jeśli nie możesz znaleźć niczego, co można by odciąć od ścieżek użytkownika i ścieżek systemowych, dodaj ścieżkę user / AppData / Roaming / npm do ścieżki środowiska systemowego i nazwij to hackowaniem.


1
Spędziłem godziny, starając się, aby polecenie gulp działało w systemie Windows, i to właśnie w końcu dla mnie zadziałało. Więc dziękuję!
MyNotes,

4

Po instalacji miałem ten sam problem. Próbowałem więc uruchomić cmdz podwyższonymi uprawnieniami (admin) i zadziałało.

Zrzut ekranu:

cmd


Tryb administratora w CMD zrobił to dla mnie
Morten OC

Próbowałem wszystkiego innego. Ale kiedy uruchomiłem wiersz polecenia w trybie administratora, zadziałało to dla mnie.
MindGame,

Nieparzysty - nie powinien wymagać uprawnień administratora. Może to działać dla niektórych, ale coś innego jest nie tak (niezwiązane z Gulpem), jeśli tego wymaga.
vapcguy

4

Dodaj tę ścieżkę do zmiennych środowiskowych ŚCIEŻKA C: \ Users \ USERNAME \ AppData \ Roaming \ npm \


4

(Windows 10) Nie podobały mi się odpowiedzi na ścieżki. Używam menedżera pakietów choco dla node.js. Gulp nie strzeliłby do mnie, chyba że:

  1. Globalnie zainstalowany npm i -g gulp i lokalny reż npm i --save-dev gulp

  2. Problem utrzymywał się raz jeszcze, co zostało naprawione przez całkowite usunięcie node.js i ponowną instalację.

Nie widziałem żadnych komentarzy na temat usuwania / ponownej instalacji local / global i node.js.


3

Dzieje się tak najczęściej, ponieważ nie można go znaleźć w zmiennych środowiskowych, jak zauważyli inni. To działało dla mnie.

echo% PATH%

To pokaże, jaka jest twoja zmienna środowiskowa PATH. Jeśli nie ma modułów node_modu, wykonaj następujące czynności, aby dodać go ze ścieżki APPDATA.

ŚCIEŻKA =% ŚCIEŻKA%; % APPDATA% \ npm


To jedyna poprawna odpowiedź tutaj. Ustaw zmienną NODE_PATH ORAZ dodaj ją do zmiennej PATH lub bezpośrednio dodaj globalny folder npm do zmiennej PATH.
DevAntoine,

3

Już miałem jeden warunek z tej odpowiedzi (nie wiem dlaczego)

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

To znaczy, moja ŚCIEŻKA już została uwzględniona %APPDATA%\npm

W moim przypadku problem polegał na tym, że npm nie instalował tam modułów (znowu nie wiem dlaczego)

Dlatego musiałem to zrobić:

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

Następnie uruchom $ npm install -g gulp(lub zainstaluj dowolny inny moduł) i umieść moduł w miejscu, w którym PATH tego oczekuje.


3

To działa dla mnie:

 npm link gulp
 npm update

Właśnie to rozwiązało problem w systemie Windows 7.
Tom

3

W moim systemie Windows 10 Enterprise gulp nie został zainstalowany w% AppData%, czyli C: \ Users \ nazwa użytkownika \ AppData \ npm \ node_modules na moim komputerze, ale w C: \ Users \ nazwa użytkownika \ AppData \ Local \ npm \ node_modules.

Aby pobrać łyk w wierszu polecenia lub w PowerShell, dodałem do PATH użytkownika wartość C: \ Users \ nazwa użytkownika \ AppData \ Local \ npm . Potem działało to jak urok. Naturalnie musiałem zamknąć wiersz polecenia lub okno PowerShell i ponownie otworzyć, aby powyższe zadziałało.


2

Gdyby polecenie gulp nie znalazło problemu w Windows 10 i dodanie „% AppData% \ npm \ node_modules” nie działa dla mnie. Wykonaj następujące czynności:

Po zrobieniu

npm install -g npm

I

npm install -g gulp

Dodaj

C:\Users\YourUsername\npm

do ścieżki w zmiennych systemowych.

Działa dla mnie po tym, jak zawiodły mnie wszystkie rozwiązania.



2

Biegać npm install gulp -g

jeśli używasz systemu Windows, dodaj katalog GULP do PATH.

temu podobne C:\Users\YOURNAME\AppData\Roaming\npm\node_modules\gulp


2

W systemie Windows:

  1. Korzystając z Eksploratora Windows, przejdź do włóczącego się folderu współdzielonego (przy okazji korzystam ze scotchbox), np C:\scotchbox/public/gulpProject
  2. Na pasku adresu folderu wpisz cmd i naciśnijEnter
  3. Wykonaj instalację łyka npm install

2

W skrócie:

Powinieneś dodać %NODE_PATH%do zmiennej systemowej, Pathjeśli inne odpowiedzi nie działają.

Powód:

Chodzi o to, że wiersz polecenia wykonuje tylko programy w Pathzmiennej systemowej , a nie zmienne użytkownika . Jeśli NODE_PATHustawiłeś jako zmienną użytkownika, dodaj %NODE_PATH%do Path.


Zapytałem tutaj i otrzymałem oznaczenie duplikatu pytania z inną intencją :(

NPM Windows nie wykonuje programu pod ścieżką zmiennej użytkownika [duplikat]


2

W systemie Windows:

  1. Naciśnij następujące dwa klawisze: Windows + r
  2. Wpisz control /name microsoft.systemw okno dialogowe uruchamiania, które pojawi się w poprzednim kroku.

Okno dialogowe uruchamiania systemu Windows

  1. Wybierz Zaawansowane ustawienia systemu z lewej strony panelu okna
  2. Kliknij kartę Zaawansowane w oknie właściwości systemu, które się pojawi, a następnie kliknij przycisk Zmienne środowiskowe .
  3. Zmieniać się PATHzmienną środowiskową użytkownika.
  4. Kliknij Nowy w oknie edycji zmiennej środowiskowej, które pojawia się dla PATHzmiennej, i dodaj: %APPDATA%\npmna początku PATHzmiennej środowiskowej (jak pokazano na obrazku poniżej).

Ustawienie zmiennej środowiskowej

  1. Zamknij wiersz polecenia i otwórz go ponownie.
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.