Z jakiegoś powodu po globalnej instalacji Express na moim komputerze, npm install -g express
jeśli wejdę cd
do katalogu i spróbuję uruchomić Express, pojawia się następujący błąd:
express: command not found.
Nawet jeśli uruchomię go z sudo
, nadal otrzymuję ten sam wynik. Próbowałem wielu różnych rozwiązań tego problemu i nic nie działało. Zainstalowałem węzeł, przez homebrew
który niektóre wątki w Stack Overflow wskazywały, że mogą stanowić problem, więc całkowicie odinstalowałem węzeł i ponownie zainstalowałem go za pomocą instalatora na nodejs.org (teraz używam wersji0.10.26), a problem nadal występuje.
Jeśli wejdę do mojego /usr/local/lib/node_modules
Expressu, jest tam, ale w / usr / local / bin nie ma nic na temat Express. Nie jestem pewien, czy to jest problem, czy nie, ale biorąc pod uwagę, że w tym katalogu są pliki binarne dla innych globalnie zainstalowanych pakietów węzłów, myślę, że może tam być coś nie tak.
Oto dokładny wynik, jaki otrzymuję podczas instalacji:
npm http GET https://registry.npmjs.org/express
npm http 304 https://registry.npmjs.org/express
npm http GET https://registry.npmjs.org/accepts/1.0.0
npm http GET https://registry.npmjs.org/type-is/1.0.0
npm http GET https://registry.npmjs.org/range-parser/1.0.0
npm http GET https://registry.npmjs.org/cookie/0.1.0
npm http GET https://registry.npmjs.org/fresh/0.2.2
npm http GET https://registry.npmjs.org/buffer-crc32/0.2.1
npm http GET https://registry.npmjs.org/send/0.2.0
npm http GET https://registry.npmjs.org/methods/0.1.0
npm http GET https://registry.npmjs.org/cookie-signature/1.0.3
npm http GET https://registry.npmjs.org/utils-merge/1.0.0
npm http GET https://registry.npmjs.org/merge-descriptors/0.0.2
npm http GET https://registry.npmjs.org/escape-html/1.0.1
npm http GET https://registry.npmjs.org/serve-static/1.0.1
npm http GET https://registry.npmjs.org/qs/0.6.6
npm http GET https://registry.npmjs.org/path-to-regexp/0.1.2
npm http GET https://registry.npmjs.org/parseurl/1.0.1
npm http GET https://registry.npmjs.org/debug
npm http 304 https://registry.npmjs.org/cookie/0.1.0
npm http 304 https://registry.npmjs.org/type-is/1.0.0
npm http 304 https://registry.npmjs.org/buffer-crc32/0.2.1
npm http 304 https://registry.npmjs.org/methods/0.1.0
npm http 304 https://registry.npmjs.org/accepts/1.0.0
npm http 304 https://registry.npmjs.org/range-parser/1.0.0
npm http 304 https://registry.npmjs.org/cookie-signature/1.0.3
npm http 304 https://registry.npmjs.org/fresh/0.2.2
npm http 304 https://registry.npmjs.org/serve-static/1.0.1
npm http 304 https://registry.npmjs.org/qs/0.6.6
npm http 304 https://registry.npmjs.org/utils-merge/1.0.0
npm http 304 https://registry.npmjs.org/merge-descriptors/0.0.2
npm http 304 https://registry.npmjs.org/escape-html/1.0.1
npm http 304 https://registry.npmjs.org/path-to-regexp/0.1.2
npm http 304 https://registry.npmjs.org/parseurl/1.0.1
npm http 304 https://registry.npmjs.org/debug
npm http 304 https://registry.npmjs.org/send/0.2.0
npm http GET https://registry.npmjs.org/mime
npm http GET https://registry.npmjs.org/send/0.1.4
npm http GET https://registry.npmjs.org/mime
npm http GET https://registry.npmjs.org/negotiator
npm http 304 https://registry.npmjs.org/mime
npm http 304 https://registry.npmjs.org/mime
npm http 304 https://registry.npmjs.org/send/0.1.4
npm http GET https://registry.npmjs.org/range-parser/0.0.4
npm http GET https://registry.npmjs.org/fresh/0.2.0
npm http 304 https://registry.npmjs.org/negotiator
npm http 304 https://registry.npmjs.org/range-parser/0.0.4
npm http 304 https://registry.npmjs.org/fresh/0.2.0
express@4.0.0 /usr/local/lib/node_modules/express
├── methods@0.1.0
├── parseurl@1.0.1
├── utils-merge@1.0.0
├── merge-descriptors@0.0.2
├── escape-html@1.0.1
├── debug@0.8.0
├── cookie-signature@1.0.3
├── range-parser@1.0.0
├── fresh@0.2.2
├── qs@0.6.6
├── buffer-crc32@0.2.1
├── cookie@0.1.0
├── path-to-regexp@0.1.2
├── type-is@1.0.0 (mime@1.2.11)
├── send@0.2.0 (mime@1.2.11)
├── serve-static@1.0.1 (send@0.1.4)
└── accepts@1.0.0 (negotiator@0.3.0, mime@1.2.11)
źródło
Musisz biegać:
Oryginalny ekspres z CLI, teraz CLI podzielony na oddzielny pakiet ekspresowy-generator. Oryginalnie wygenerowany przez projekt działa aplikacja Express node app.js, ponieważ httpserver odpowiedni kod w app.js, a teraz ta część kodu do katalogu projektu
bin/www
poniżej, app.js zachowują tylko kod logiki aplikacji, musisz uruchomićbin/www
. Po prostu bardzo prosta aplikacja i zmiany wersji zależności pakietu udoskonalenia.źródło
Miałem to wyzwanie przez kilka dni. Po głębokich poszukiwaniach dowiedziałem się, że każdy dostępny zasób należy czytać, zwłaszcza z nadrzędnego źródła [w tym przypadku EXPRESSJS.COM]. Oto szybkie rozwiązanie.
Począwszy od wersji 4.0+, nie musisz koniecznie instalować ekspresowego generatora, jeśli używasz Node 8.2+. Po prostu biegnij
Generator ekspresowy będzie działał tak, jak działa, gdy uruchomisz:
express
Aby uzyskać więcej informacji, zobacz Pierwsze kroki
Miłego czytania i godzin badań.
źródło
Ostatnio próbowałem zainstalować generator ekspresowy, ale dałby się,
To było po tym, jak to zrobiłem
Ale potem zobaczyłem dziennik konsoli polecenia instalacji npm
co dało wskazówkę, że plik wykonywalny znajduje się w folderze bin.
Tak więc rozwiązanie jest następujące: Otwórz ~ / .zshrc lub ~ / .bashrc i wyeksportuj ścieżkę w następujący sposób:
To teraz działa.
źródło