Próbuję zbudować bibliotekę github jquery-ui przy użyciu grunt
, ale po uruchomieniu npm install
nadal nie mogę uruchomić polecenia zgodnie z plikiem readme . To po prostu 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
jquery-ui@1.9.0pre /home/james/Documents/projects/ad2/lib/jquery-ui
├─┬ grunt@0.3.9
│ ├── async@0.1.18
│ ├── colors@0.6.0-1
│ ├─┬ connect@1.8.7
│ │ ├── formidable@1.0.9
│ │ ├── mime@1.2.5
│ │ └── qs@0.5.0
│ ├── dateformat@1.0.2-1.2.3
│ ├─┬ glob-whatev@0.1.6
│ │ └─┬ minimatch@0.2.4
│ │ └── lru-cache@1.0.6
│ ├─┬ gzip-js@0.3.1
│ │ ├── crc32@0.2.2
│ │ └── deflate-js@0.2.2
│ ├── hooker@0.2.3
│ ├─┬ jshint@0.5.9
│ │ ├── argsparser@0.0.6
│ │ └─┬ minimatch@0.2.4
│ │ └── lru-cache@1.0.6
│ ├─┬ nodeunit@0.6.4
│ │ ├── tap-assert@0.0.10
│ │ └─┬ tap-producer@0.0.1
│ │ ├── inherits@1.0.0
│ │ ├── tap-results@0.0.2
│ │ └── yamlish@0.0.5
│ ├─┬ nopt@1.0.10
│ │ └── abbrev@1.0.3
│ ├─┬ prompt@0.1.12
│ │ ├── pkginfo@0.2.3
│ │ └─┬ winston@0.5.11
│ │ ├── eyes@0.1.7
│ │ ├─┬ loggly@0.3.11
│ │ │ └── timespan@2.2.0
│ │ └── stack-trace@0.0.6
│ ├── semver@1.0.13
│ ├─┬ temporary@0.0.2
│ │ └── package@1.0.0
│ ├── uglify-js@1.0.7
│ ├── underscore@1.2.4
│ └── underscore.string@2.1.1
├── grunt-compare-size@0.1.4
├─┬ grunt-css@0.2.0
│ ├── csslint@0.9.8
│ └── sqwish@0.2.0
├── grunt-html@0.1.1
├── request@2.9.153
├─┬ rimraf@2.0.1
│ └── graceful-fs@1.1.8
└─┬ testswarm@0.2.2
└── request@2.9.202
Jestem zdezorientowany, czego mi brakuje?
sudo
Dziękuję Tom!node not found
po uruchomieniu powyższej komendy i użyłeś menedżera pakietów do zainstalowania węzła, musisz równieżsudo ln -s /usr/local/bin/nodejs /usr/local/bin/node
Dodaj
/usr/local/share/npm/bin/
do swojego$PATH
źródło
$HOME/npm/bin
działało dla mnie na Ubuntu 13.10.Jeśli zainstalowałeś już pakiet Grunta
npm install -g grunt
i nadal mówi on,No command 'grunt' found
albogrunt: command not found
szybkim i brudnym sposobem na uzyskanie tego jest ręczne połączenie binariów węzłów z $ PATH.W systemie MacOSX / Linux możesz dodać tę linię do pliku
~/.bash_profile
lub~/.bashrc
pliku.Prawdopodobnie należy zastąpić
/usr/local/Cellar/node/HEAD/bin
ścieżką, w której można znaleźć pliki binarne węzłów.Jeśli jest to dla mnie szybkie i brudne , to dlatego, że wszystko powinno działać bez robienia tego, ale z nieznanego powodu link wydaje się zepsuty. Ponieważ nikt na IRC nie mógł mi powiedzieć, dlaczego tak się stało, znalazłem swój własny sposób, aby to (chrząknięcie) działało.
PS: To powinno pomóc ci w pracy z chrząkami, 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 hacking plik .bashrc: oba powinny działać, ale należy spróbować zainstalować
grunt-cli
pierwszy .źródło
W moim przypadku muszę zmodyfikować plik / usr / local / bin / grunt w wierszu 1 (nie rób tego):
Edytowane:
Aby uniknąć problemów, utworzyłem łącze o nazwie „węzeł”, ponieważ wiele innych programów nadal używa polecenia „węzeł”.
źródło
apt-get install nodejs-legacy
.brew install nodejs-leacy
Jest jeszcze jeden sposób, aby uruchomić chrząknięcie w systemie Windows, bez dodawania niczego globalnie. Jest to przypadek, gdy nie musisz nic robić z% PATH%
jeśli masz zainstalowane chrząknięcie i chrząkanie-cli (bez przełącznika -g). Albo:
Lub umieszczając to w pliku Package.json, takim jak:
Możesz wywołać chrząknięcie z lokalnej instalacji przez:
Jest to rozwiązanie dla tych, którzy z jakichś powodów nie chcą lub nie mogą bawić się PATH, lub mają coś innego, co psuje cały czas, na przykład na agencie kompilacji.
Edycja: Dodano wersje, ponieważ grunt-cli działa z chrząknięciem> 0.3
źródło
Na WIN7 musiałem ręcznie dodać ścieżkę do folderu npm (który zawiera nieuchwytny plik „chrząknięcia”) do zmiennej środowiskowej Windows PATH.
W moim przypadku tak było
C:\Users\mhaagsma\AppData\Roaming\npm
źródło
Prawidłowym sposobem zainstalowania gruntu jest uruchomienie tego polecenia:
(Jeśli pojawi się komunikat o błędzie EACCESS, do polecenia powyżej wpisz „sudo”)
-g spowoduje, że npm zainstaluje pakiet globalnie, więc będziesz mógł go używać, kiedy tylko chcesz na bieżącej maszynie.
źródło
grunt
nadal zawiedzie, ponieważ pakiet grunt nie zawiera żadnych narzędzi wiersza poleceń. Trzebagrunt-cli
.Cześć, miałem ten problem na Macu i to, co zrobiłem, było
zainstalowany globalnie i prefiks z globalną ścieżką
teraz
$ which grunt
powinien wyjść
/usr/local/bin/grunt
Twoje zdrowie
źródło
Czasami trzeba, żeby
npm install package_name -g
to zadziałało.źródło
Innym rozwiązaniem jest usunięcie pakietu narzędziowego Ubuntu w moim przypadku użyłem:
To działało dla mnie.
źródło
W systemie Windows część tajemnicy wydaje się polegać na tym, że npm instaluje plik Grunt.cmd. Na moim Linux-ie musiałem tylko uruchomić sudo npm install -g grunt-cli, na moim laptopie roboczym z systemem Windows 8 Grunt został umieszczony w katalogu „.npm-global”:% USER_HOME% \. Npm-global i ja musiał to dodać do Ścieżki.
Tak więc w systemie Windows moje kroki to:
npm install -g grunt-cli
dowiedzieć się, gdzie był do cholery grunt.cmd (Myślę, że dla niektórych jest w% USER_HOME% \ App_Data \ Roaming)
Dodano lokalizację do mojej zmiennej środowiskowej Path. Otworzyłem nowe polecenie cmd i polecenie chrząknięcia poszło dobrze.
źródło
W systemie Windows 10 Dodaj to do swojej ścieżki:
Odnosi się to do folderu
~/AppData/Roaming/npm
[Zakłada, że już uruchomiłeś
npm install -g grunt-cli
]źródło