grunt: polecenie nie zostało znalezione podczas uruchamiania z terminala


100

Jestem nowy w Grunt. Próbuję skonfigurować Grunt na moim Mac OSX Lion.

Postępowałem zgodnie z instrukcjami tutaj, a następnie utworzyłem folder projektu zawierający poniższe pliki. Kiedy próbuję uruchomić komputer, wpisując „grunt” w terminalu, otrzymuję command not found. Zmodyfikowałem również moje ścieżki sudo nano /etc/pathsw nadziei, że dodanie ścieżki sprawi, że moduł uruchamiający zadania będzie działał, ale nadal nie działa. Czy ktoś może w tym pomóc?

---paths

/usr/bin 
/bin
/usr/sbin
/sbin
/usr/local/bin
/usr/local/bin/grunt


--- files
node modules
Gruntfile.js
package.json

uruchom to polecenie z terminala i dodaj wynik do swojego pytania: który grunt
Paul Allen

Cześć Paul, wpisałem polecenie i nie otrzymałem żadnego wyjścia.
user686483


1
Duplikat stackoverflow.com/questions/10667381/ ... - świetna odpowiedź.
Air

Odpowiedzi:


44

Domyślam się, że użyłeś Brew do zainstalowania Node, więc przewodnik tutaj może być pomocny http://madebyhoundstooth.com/blog/install-node-with-homebrew-on-os-x/ .

Musisz upewnić się, że npm / bin znajduje się na twojej ścieżce, zgodnie z opisem export PATH="/usr/local/share/npm/bin:$PATH". Jest to lokalizacja, w której npm zainstaluje kody pośredniczące bin dla zainstalowanych pakietów.


Wersja nano będzie również działać zgodnie z opisem tutaj http://architectryan.com/2012/10/02/add-to-the-path-on-mac-os-x-mountain-lion/, ale może być konieczne ponowne uruchomienie Terminala wymagane do odebrania nowej ścieżki.


czy mogę to dodać za pomocą sudo nano / etc / path?
user686483

2
Wygląda na to, że tutaj Architectryan.com/2012/10/02/… ale użyj /usr/local/share/npm/binzamiast tego, /usr/local/bin/gruntco masz w pytaniu
nschonni

1
Dodałem ścieżkę za pomocą sudo nano / etc / path, ale nadal nie mam poleceń
gruntowych

jak dostać się do tego folderu w terminalu?
user686483

Udało mi się odkryć folder za pomocą wyszukiwarki. Mój folder npm znajduje się w / Users / myusername.
user686483

499

Mój sposób na to w Mountain Lion był następujący: -

npm install -g grunt-cli 

Widziałem to na http://gruntjs.com/getting-started


15
Pracował nad Mavericksem.
Aaron Greenlee

8
Również na Linuksie (Ubuntu / Elementary OS)
iConnor

4
Powinien działać dobrze (i prawdopodobnie lepiej) bez rozszerzenia sudo.
Matthew Shanley,

2
@MatthewShanley sudojest potrzebne, chyba że podczas instalacji zostały ustawione odpowiednie uprawnienia do folderu npm.
mostruash

3
Jeśli potrzebujesz sudo, uprawnienia są nieprawidłowe i przy każdej instalacji będziesz mieć większe kłopoty. Zawsze upewnij się, że npmmożesz działać bez sudo.
Laurens Kling

12

Dla Windowsa

npm install -g grunt-cli

npm install load-grunt-tasks

Następnie uruchomić

grunt


1
w ogóle mi nie pomogło
Dejell

1
Używam Windows 10 i musiałem tylko uruchomić 'npm install -g grunt-cli'
Dan

6

Od jakiegoś czasu szukam rozwiązania tego problemu i żadna z sugerowanych aktualizacji basha nie działa. Odkryłem, że w pewnym momencie mój katalog główny npm został zmodyfikowany w taki sposób, że wskazywał na Users/USER_NAME/.node/node_moduleschwilę, w której przebywała rzeczywista instalacja npm /usr/local/lib/node_modules. Możesz to sprawdzić, uruchamiając npm rooti npm root -g(w przypadku instalacji globalnej). Aby poprawić ścieżkę, którą możesz wezwać npm config set prefix /usr/local.


Nie mogę zsynchronizować tych dwóch ścieżek za pomocą dostarczonego przez Ciebie rozwiązania
Comiventor

6

Również na OS X (El Capitan), miałem ten sam problem przez cały ranek.

Uruchomiłem polecenie „npm install -g grunt-cli” z katalogu, w którym znajdował się mój projekt.

Spróbowałem ponownie z mojego katalogu domowego (np. „Cd ~”) i zainstalowałem go jak poprzednio, z wyjątkiem tego, że teraz mogę uruchomić polecenie gruntowania i zostało ono rozpoznane.


5

kluczową kwestią jest znalezienie właściwej ścieżki, w której zainstalowano grunt. Zainstalowałem grunt przez npm, ale moja ścieżka była /Users/${whoyouare}/.npm-global/lib/node_modules/grunt/bin/grunt. Więc po dodaniu /Users/${whoyouare}/.npm-global/lib/node_modules/grunt/bindo ~/.bash_profile, i source ~/.bash_profileto działało.

Więc kroki są następujące:

1. find the path where your grunt was installed(when you installed grunt, it told you. if you don't remember, you can install it one more time)

2. vi ~/.bash_profile

3. export PATH=$PATH:/your/path/where/grunt/was/installed

4. source ~/.bash_profile

Możesz polecić http://www.hongkiat.com/blog/grunt-command-not-found/


Świetna odpowiedź, działała dla mnie (Win7 x64). Oto co umieściłem w moim .bash_profile:export PATH=$PATH:/Users/<username>/AppData/Roaming/npm/node_modules/grunt-cli/bin/grunt
srebrny

Zobacz także ~/.npm-packages/lib/node_modules/grunt-cli/bin/grunt(OS X High Sierra)
kubilay
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.