Właśnie zainstalowałem Node.js
w swoim Ubuntu 14.04
systemie operacyjnym po raz pierwszy. Zainstalowałem też npm
. Kolejnym krokiem w procesie instalacji była instalacja nodemon
. Wszystko się udało.
Ale kiedy uruchamiam nodemon
, wpisując nodemon app.js
w wierszu poleceń , pojawia się następujący błąd ...
[nodemon] 1.8.1
[nodemon] to restart at any time, enter
rs
[nodemon] watching: *.*
[nodemon] starting
node app.js
[nodemon] Internal watch failed: watch ENOSPC
W linii poleceń poniżej błąd ...
alopex@Alopex:~/Desktop/coding_dojo/week-9/javascript/node/testing_node$ Hello World
Dlaczego to się dzieje? Czy to normalne zachowanie nodemona? Jeśli nie, jak mogę to naprawić?
Dodatkowe uwagi ...
1) app.js
to Javascript
plik zawierający console.log(111)
wewnątrz.
2) node
wersja to v0.10.25
3) npm
wersja to 1.3.10
4) nodemon
wersja to 1.8.1
5) ubuntu
wersja to ...
Distributor ID: Ubuntu
Description: Ubuntu 14.04.3 LTS
Release: 14.04
Codename: trusty
źródło
Odpowiedzi:
Wygląda na to, że moje maksymalne porty nie zostały poprawnie skonfigurowane. Uruchomiłem następujący kod i zadziałało ...
echo fs.inotify.max_user_watches=582222 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p
To polecenie powoduje zwiększenie liczby zegarków dozwolonych dla jednego użytkownika. Domyślnie liczba może być niska (na przykład 8192). Kiedy
nodemon
próbuje przeglądać dużą liczbę katalogów pod kątem zmian, musi utworzyć kilka zegarków, które mogą przekroczyć ten limit.Możesz również rozwiązać ten problem poprzez:
sudo sysctl fs.inotify.max_user_watches=582222 && sudo sysctl -p
Ale sposób, w jaki został napisany pierwszy, sprawi, że ta zmiana będzie trwała.
źródło
/etc/sysctl.d/90-override.conf
Na działającym serwerze węzła wyświetla następujące błędy i rozwiązania:
nodemon server.js
[nodemon] Błąd wewnętrznego zegarka: watch / home / aurum304 / jin ENOSPC
lub
echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p
źródło
Erik, możesz po prostu zabić wszystkie inne procesy węzłów przez
a następnie ponownie uruchom serwer. Wtedy będzie działać dobrze.
źródło
Zgodnie z dyskusją tutaj ,
ENOSPC
oznaczaError No more hard-disk space available
. Powodem, dla którego tak dużo pamięci wymaganodemon
lubgulp-nodemon
(w moim przypadku) jest to, że obserwował zawartość folderu, którego nie powinien. Aby naprawić ten nodemon maignore
ustawienie, które może być użyte do powiedzenia nodemonowi, czego nie ma oglądać. Spójrz na przykładową konfigurację nodemon tutaj .źródło
[nodemon] Internal watch failed: watch /home/Document/nmmExpressServer/bin ENOSPC npm ERR! code ELIFECYCLE npm ERR! errno 1 npm ERR! nmmexpressserver@0.0.0 start: `nodemon ./bin/www` npm ERR! Exit status 1 npm ERR! npm ERR! Failed at the nmmexpressserver@0.0.0 start script.
To jest błąd, który otrzymałem podczas uruchamiania
nodemon ./bin/www
.Nie wiem dlaczego, ale zakładam, że Atom i nodemon używają podobnych procesów do oglądania plików / folderów.
źródło
echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p
To zadziałało dla mnie
źródło
Spróbuj tego....
echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p
Wyzywająco zadziała
źródło
Dodaj
nodemon.json
plik konfiguracyjny do folderu głównego i określ wzorce ignorowania, na przykład:nodemon.json
{ "ignore": [ "*.test.js", "dist/*" ] }
.git
,node_modules
,bower_components
,.nyc_output
,coverage
i.sass-cache
są ignorowane, więc nie ma potrzeby, aby dodać je do swojej konfiguracji.Objaśnienie: Ten błąd występuje, ponieważ przekroczyłeś maksymalną liczbę obserwatorów dozwoloną przez system (tj. Nie
nodemon
ma więcej miejsca na dysku do oglądania wszystkich plików - co prawdopodobnie oznacza, że oglądasz mało ważne pliki). Więc ignorujesz nieważne pliki, których nie obchodzą cię zmiany, na przykład dane wyjściowe kompilacji lub przypadki testowe.źródło
w moim przypadku zamknięcie kodu Visual Studio i uruchomienie serwera załatwiło sprawę
System operacyjny - Ubuntu 16,4 lts
wersja node.js - 8.11.1
npm wersja - 6.0.0
źródło
Zamiast określać listę katalogów do zignorowania (np. Negatywne), możesz także określić listę katalogów do oglądania (np. Pozytywnych):
W moim konkretnym przypadku miałem jeden katalog, który chciałem obejrzeć, a około dziewięciu chciałem zignorować, więc określenie „--watch” było znacznie prostsze niż określenie „--ignore”
źródło
Miałem ten sam błąd, ale w systemie Ubuntu 14.04 w systemie Windows 10 (Bash w systemie Ubuntu w systemie Windows). Jedyne co zrobiłem, aby przezwyciężyć błąd, to zaktualizować aktualizację Creators, która następnie pozwoliła mi zainstalować wersję 16.04 Ubuntu bash, a następnie po zainstalowaniu najnowszej wersji węzła (w ten sposób ) zainstalowałem również najnowszą wersję npm a następnie nodemon zaczął działać poprawnie.
źródło
Jeśli system operacyjny to Linux, po prostu użyj, będzie działać
źródło