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
user686483
źródło
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
możliwy duplikat „polecenia nie znaleziono” po instalacji
Sindre Sorhus
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.

nschonni
źródło
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

user2792249
źródło
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

Mohit Singh
źródło
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.

Bueno
źródło
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.

Mongo0se
źródło
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/

YJ. Yang
źródło
Ś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