Pakiet węzłów (Grunt) Zainstalowany, ale niedostępny

Próbuję zbudować github bibliotekę jquery-ui używając grunt, ale po uruchomieniu npm install nadal nie mogę uruchomić komendy zgodnie z readme file . Daje No command 'grunt' found:

james@ubuntu:~/Documents/projects/ad2/lib/jquery-ui$ grunt build
No command 'grunt' found, did you mean:
 Command 'grun' from package 'grun' (universe)
grunt: command not found
james@ubuntu:~/Documents/projects/ad2/lib/jquery-ui$ npm ls
[email protected] /home/james/Documents/projects/ad2/lib/jquery-ui
├─┬ [email protected] 
│ ├── [email protected] 
│ ├── [email protected] 
│ ├─┬ [email protected] 
│ │ ├── [email protected] 
│ │ ├── [email protected] 
│ │ └── [email protected] 
│ ├── [email protected] 
│ ├─┬ [email protected] 
│ │ └─┬ [email protected] 
│ │   └── [email protected] 
│ ├─┬ [email protected] 
│ │ ├── [email protected] 
│ │ └── [email protected] 
│ ├── [email protected] 
│ ├─┬ [email protected] 
│ │ ├── [email protected] 
│ │ └─┬ [email protected] 
│ │   └── [email protected] 
│ ├─┬ [email protected] 
│ │ ├── [email protected] 
│ │ └─┬ [email protected] 
│ │   ├── [email protected] 
│ │   ├── [email protected] 
│ │   └── [email protected] 
│ ├─┬ [email protected] 
│ │ └── [email protected] 
│ ├─┬ [email protected] 
│ │ ├── [email protected] 
│ │ └─┬ [email protected] 
│ │   ├── [email protected] 
│ │   ├─┬ [email protected] 
│ │   │ └── [email protected] 
│ │   └── [email protected] 
│ ├── [email protected] 
│ ├─┬ [email protected] 
│ │ └── [email protected] 
│ ├── [email protected] 
│ ├── [email protected] 
│ └── [email protected] 
├── [email protected] 
├─┬ [email protected] 
│ ├── [email protected] 
│ └── [email protected] 
├── [email protected] 
├── [email protected] 
├─┬ [email protected] 
│ └── [email protected] 
└─┬ [email protected] 
  └── [email protected] 

Jestem zdezorientowany, co mi umyka?

Author: Air, 2012-05-19

10 answers

Narzędzia wiersza poleceń nie są dołączone do najnowszej wersji Grunt (0.4 w momencie pisania), zamiast tego musisz zainstalować je osobno.

Jest to dobry pomysł, ponieważ oznacza to, że możesz mieć różne wersje Grunt działające w różnych projektach, ale nadal używaj ładnej zwięzłej komendy grunt, aby je uruchomić.

Więc najpierw zainstaluj narzędzia grunt CLI globalnie:

npm install -g grunt-cli

(lub ewentualnie sudo npm install -g grunt-cli).

Możesz ustalić, że to działa, wpisując grunt --version

Teraz możesz zainstalować aktualną wersję Grunt local do swojego projektu. Więc z lokalizacji Twojego projektu...

npm install grunt --save-dev

Przełącznik save-dev nie jest bezwzględnie konieczny, ale jest dobrym pomysłem, ponieważ będzie oznaczał Grunta w swoim pakiecie.sekcja JSON devDependencies jako moduł tylko dla deweloperów.

 396
Author: Tom P,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-02-19 09:09:51

Dodaj /usr/local/share/npm/bin/ do swojego $PATH

 26
Author: Sam Figueroa,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-10-08 16:50:49

Jeśli zainstalowałeś pakiet Grunt uruchamiając npm install -g grunt i nadal jest napisane No command 'grunt' found lub grunt: command not found, szybkim i brudnym sposobem, aby to zadziałało, jest ręczne łączenie binariów węzłów z twoją $PATH.

Na MacOSX / Linux możesz dodać tę linię do pliku ~/.bash_profile lub ~/.bashrc.

PATH=$PATH:/usr/local/Cellar/node/HEAD/bin # Add NPM binaries

Prawdopodobnie powinieneś zastąpić /usr/local/Cellar/node/HEAD/bin ścieżką, na której można znaleźć binaria węzłów.

Jeśli to jest szybkie i brudne dla mnie, to dlatego, że wszystko powinno działać bez tego, ale dla nieznany powód, link wydaje się uszkodzony. Ponieważ nikt na ircu nie mógł mi powiedzieć, dlaczego tak się stało, znalazłem swój własny sposób, aby to (grunt) działało.

PS: to powinno pomóc ci zrobić grunt działa, ta odpowiedź nie jest związana z jquery-ui.

Aktualizacja 02/2013 : powinieneś rzucić okiem na odpowiedź@tom-p , która lepiej wyjaśnia, co się dzieje. Tom daje nam prawdziwe rozwiązanie zamiast hakować plik bashrc : oba powinny działać, ale powinieneś spróbować instalacja grunt-cli jako pierwsza .

 23
Author: rayfranco,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-23 11:33:16

W moim przypadku muszę zmodyfikować plik / usr / local / bin / grunt w linii 1 (nie rób tego):

 #!/usr/bin/env node //remove this line
 #!/usr/bin/env nodejs // and put this line to run with nodejs

Edycja:

Aby uniknąć problemów, stworzyłem link o nazwie "node", ponieważ wiele innych programów nadal używa polecenia" node".

 sudo ln -s /usr/bin/nodejs /usr/sbin/node
 12
Author: Edgard Leal,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-07-24 13:55:22

Jest jeszcze jeden sposób, aby uruchomić grunt w systemie windows, bez dodawania czegokolwiek globalnie. Jest to przypadek, gdy nie musisz nic robić z % PATH %

Jeśli masz zainstalowane grunt i grunt-cli (bez przełącznika-g). Albo przez:

npm install grunt-cli
npm install [email protected]
Albo mając to w paczkach.plik json jak:
"devDependencies": {
    "grunt-cli": "^1.2.0",
    "grunt": "^0.4.5",

Możesz wywołać grunt z lokalnej instalacji przez:

node node_modules\grunt-cli\bin\grunt --version
Jest to rozwiązanie dla tych, którzy z jakichś powodów nie chcą lub nie mogą bawić się PATH, lub mają coś poza tym cały czas to psuje, na przykład na agenta budowlanego.

Edytuj: Dodano wersje, ponieważ grunt-cli działa z grunt > 0.3

 10
Author: tomajar,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-08-19 20:56:38

Na WIN7 musiałem ręcznie dodać ścieżkę do folderu npm (który zawiera nieuchwytny plik 'grunt') do zmiennej środowiskowej Windows PATH.
W moim przypadku było to C:\Users\mhaagsma\AppData\Roaming\npm

 10
Author: Marvin,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-07-11 10:34:10

Dobrym sposobem instalacji grunt jest uruchomienie tego polecenia:

npm install grunt -g

(Przedpisz "sudo" do powyższego polecenia, Jeśli pojawi się komunikat o błędzie EACCESS)

- g sprawi, że npm zainstaluje pakiet globalnie, więc będziesz mógł go używać kiedy tylko zechcesz na bieżącej maszynie.

 2
Author: Adonis K. Kakoulidis,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-01-07 20:24:36

Czasami trzeba npm install package_name -g aby to zadziałało.

 0
Author: lowerkey,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-05-19 17:27:10

Innym rozwiązaniem jest usunięcie pakietu ubuntu w moim przypadku używałem:

sudo apt-get remove ruby-bundler 
To mi pomogło.
 0
Author: Israel Morales,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-04-15 21:19:44

W Windows część tajemnicy wydaje się być gdzie npm instaluje Grunt.plik cmd. Podczas gdy na moim Linuksie, po prostu musiałem uruchomić sudo npm install-g grunt-cli, na moim laptopie roboczym Windows 8 Grunt został umieszczony w".npm-global' katalog: % USER_HOME%\.npm-global i musiałem to dodać do ścieżki.

Więc na Windows moje kroki były:

  • Npm install-g grunt-cli

  • Dowiedz się, gdzie do cholery chrząkać.cmd był (chyba dla niektórych jest w %USER_HOME%\App_Data\Roaming)

  • Dodano lokalizację do zmiennej środowiskowej Moja ścieżka. Otworzył nowy znak zachęty cmd i Komenda grunt działała poprawnie.

 0
Author: MattC,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-03-28 21:02:39