Jestem nowy w Node.js, spróbuj nauczyć się ekspresji, aby zbudować moją pierwszą aplikację internetową. Utknąłem na moim pierwszym przykładowym kodzie i potrzebuję pomocy, aby go uruchomić. Zanim opublikowałem to pytanie, szukałem informacji o przepełnieniu stosu, znalazłem kilka podobnych pytań, ale nadal nie mogłem tego naprawić.
Błąd: nie można znaleźć modułu „express”
Używam systemu Mac OS 10.8.2 . Mam zainstalowany Node.js przy użyciu nvm
.
node.js: 0.8.20 ścieżka do węzła: /Users/feelexit/nvm/v0.8.20/bin/node ścieżka do wyrażenia: / Users / feelexit / nvm / node_modules / express
oto mój przykładowy kod: ten plik znajduje się pod adresem:
/Users/feelexit/WebstormProjects/learnnode/node_modules/index.js
var express = require('express');
var app = express();
app.get('/', function(req, res){
res.send('welcome to express');
});
app.listen(3000);
kiedy próbuję uruchomić to polecenie node index.js
Otrzymuję następujący komunikat o błędzie, pomóż mi to naprawić.
Dziękuję Ci.
Error: Cannot find module 'express'
at Function.Module._resolveFilename (module.js:338:15)
at Function.Module._load (module.js:280:25)
at Module.require (module.js:362:17)
at require (module.js:378:17)
at Object.<anonymous> (/Users/feelexit/WebstormProjects/learnnode/node_modules/index.js:1:81)
at Module._compile (module.js:449:26)
at Object.Module._extensions..js (module.js:467:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)
at Module.runMain (module.js:492:10)
feelexits-Mac:node_modules feelexit$
Zaktualizuj, aby odpowiedzieć na pytanie Chovy'ego:
feelexits-Mac:~ feelexit$ npm install
npm ERR! install Couldn't read dependencies
npm ERR! Error: ENOENT, open '/Users/feelexit/package.json'
npm ERR! If you need help, you may report this log at:
npm ERR! <http://github.com/isaacs/npm/issues>
npm ERR! or email it to:
npm ERR! <npm-@googlegroups.com>
npm ERR! System Darwin 12.2.0
npm ERR! command "/Users/feelexit/nvm/v0.8.20/bin/node" "/Users/feelexit/nvm/v0.8.20/bin/npm" "install"
npm ERR! cwd /Users/feelexit
npm ERR! node -v v0.8.20
npm ERR! npm -v 1.2.11
npm ERR! path /Users/feelexit/package.json
npm ERR! code ENOENT
npm ERR! errno 34
npm ERR!
npm ERR! Additional logging details can be found in:
npm ERR! /Users/feelexit/npm-debug.log
npm ERR! not ok code 0
npm install
package.json
plik. Pomoże to w debugowaniu problemu.Odpowiedzi:
To mówi
Czy masz zainstalowany ekspres? Jeśli nie, uruchom go.
I ponownie uruchom program.
źródło
npm install express
pokazuje ten błądnpm ERR! Error: UNKNOWN, symlink '../express/bin/express'
. Wydaje się, że jest to głębsza kwestia.npm link
odtworzyć odpowiednieprocess manager
. Nie uruchomił się samoczynnie.Po wyrażeniu w terminalu zrób to
Aby zainstalować wszystkie zależności.
Następnie możesz wykonać aplikację node, aby uruchomić serwer.
źródło
Sprawdź, czy masz zainstalowany
express
moduł. Jeśli nie, użyj tego polecenia:a jeśli twój
node_modules
katalog jest w innym miejscu, ustawNODE_PATH
zmienną środowiskową:źródło
CTRL+C / CTRL+V
npm install
odpowiedzi: czy naprawdę myślisz, że ktoś próbowałby uruchomić coś bez sprawdzania, czy jest najpierw zainstalowany? Poważnie ...źródło
npm install z katalogu aplikacji rozwiąże problem, ponieważ zainstaluje wszystko, co wymagane
źródło
Wykopuję tutaj stary wątek, ALE miałem ten sam błąd i rozwiązałem go, przechodząc do katalogu, w którym znajduje się mój NodeApp i działając
npm install -d
źródło
-d
to debugowanie dla npm,-D
to zależności dev.O ile nie ustawisz Node_PATH , jedyną inną opcją jest zainstalowanie ekspresowej w katalogu aplikacji, na przykład
npm install express --save
. Express może być już zainstalowany, alenode
z jakiegoś powodu nie może go znaleźćźródło
Masz swój moduł ekspresowy znajdujący się w innym katalogu niż projekt. Prawdopodobnie jest to problem, ponieważ próbujesz to
require()
zrobić lokalnie. Spróbuj przenieść swój moduł Express z / Users / feelexit / nvm / node_modules / express do / Users / feelexit / WebstormProjects / learnnode / node_modules / express . Te informacje mogą dostarczyć więcej szczegółów na temat struktur plików node_module.źródło
jeśli twój główny plik znajduje się w,
/Users/feelexit/WebstormProjects/learnnode/node_modules/index.js
to express musi być zlokalizowany,/Users/feelexit/WebstormProjects/learnnode/node_modules/node_modules
ponieważ węzeł zawsze szuka modułów w./node_modules
(i jego folderze wewnętrznym), gdy ścieżka nie zaczyna się od./
lub/
( więcej informacji tutaj )Myślę, że przegapiłeś umieszczenie swojego głównego pliku w folderze modułu
źródło
w tym scenariuszu uruchom polecenie npm install express, używając wiersza poleceń cmd w odpowiednim folderze, w którym chcesz uruchomić program. Przykład Chcę uruchomić program modułu ekspresowego server.js w F: \ nodeSample. Uruchom więc „npm install express” w tym konkretnym folderze, a następnie uruchom server.js
źródło
Uruchom
npm install express body-parser cookie-parser multer --save
polecenie w tym samym katalogu, w którym znajduje się plik nodejs kodu źródłowego, aby rozwiązać ten problem. P / s: sprawdź katalog po uruchomieniu polecenia, aby dowiedzieć się więcej!źródło
W rzadkich przypadkach pamięć podręczna npm może ulec uszkodzeniu. Dla mnie zadziałało:
Ogólnie rzecz biorąc, menedżer pakietów sam wykryje uszkodzenie i załaduje ponownie, więc zwykle nie jest to konieczne. Jednak w moim przypadku Windows 10 zawiesił się kilka razy i podejrzewam, że mogło to być podczas operacji pobierania. Mam nadzieję, że to komuś pomoże!
Więcej informacji: https://docs.npmjs.com/cli/cache
źródło
Natknąłem się na podobny problem i ostatecznie była to kwestia starych zależności, które zepsuły mój serwer Heroku.
Będąc w folderze mojego projektu uruchomiłem:
Mam nadzieję, że to pomoże
źródło
npm ERR! Error: ENOENT, open '/Users/feelexit/package.json'
Dzieje się tak z powodu braku uprawnień lub odłączonych plików, gdy npm działał.
Oznacza to, że wykonywanie
npm
jako ten użytkownik nie ma wystarczających praw do odczytu / zapisu z pliku, w tym przypadku package.json.spróbuj dodać
sudo
przed całym poleceniem - powinno rozwiązać.$ sudo npm install -g express
$ Password:*******
Hasło byłoby hasłem administratora twojego komputera Mac.
-g
flaga zainstaluje ten moduł (ekspresowo) w globalnym kontekście węzła - co oznacza, że węzeł będzie / powinien rozpoznawaćexpress
moduł z dowolnego pliku js bez konieczności podawania pełnej ścieżki do używanego modułu.Mam nadzieję że to pomoże!!
źródło
Miałem ten sam problem. Mój problem polegał na tym, że przed zainstalowaniem Express muszę przejść do katalogu projektu Node.js w wierszu poleceń.
źródło
Zgaduję, że to są zajęcia z kursu Colt Steele's Web Development ... Szukałem tej samej odpowiedzi, dlaczego również wylądowałem z tym błędem ... Colt nie mówi tego, ale bierzesz folder node_module i przenosisz się do nowego folderu, w którym pracujesz ... to właśnie zadziałało.
źródło
Czasami wersja nie pasuje do package.json Naprawiono problem, sprawdzając plik package.json, a następnie użyj następujących poleceń: npm install [email protected] rozwiązało to za mnie.
źródło
Czy próbowałeś
Jeśli szukasz tylko ekspresu
źródło