web-dev-qa-db-fra.com

Node.JS: Erreur lors de l'obtention de l'erreur: [nodemon] La surveillance interne a échoué: surveillance ENOSPC

Je viens d'installer Node.js sur mon système d'exploitation Ubuntu 14.04 pour la première fois. J'ai aussi installé npm. L'étape suivante de mon processus d'installation consistait à installer nodemon. Tout cela a bien fonctionné. 


Mais, lorsque j'exécute nodemon en tapant nodemon app.js dans ma ligne de commande, le message d'erreur suivant s'affiche ... 

[nodemon] 1.8.1 [nodemon] to restart at any time, enterrs [nodemon] watching: *.* [nodemon] startingnode app.js [nodemon] Internal watch failed: watch ENOSPC

Dans la ligne de commande sous l'erreur ...

alopex@Alopex:~/Desktop/coding_dojo/week-9/javascript/node/testing_node$ Hello World

Pourquoi cela arrive-t-il? Est-ce que ce comportement est normal pour Nodemon? Si non, comment puis-je résoudre ce problème? 


Notes annexes ...

1) app.js est un fichier Javascript avec console.log(111) à l’intérieur.
2) node version is v0.10.25
3) npm version is 1.3.10
4) nodemon version is 1.8.1
5) ubuntu version is ...

Distributor ID: Ubuntu
Description:    Ubuntu 14.04.3 LTS
Release:    14.04
Codename:   trusty
83
Erik Åsland

Il semble que mes ports max n'ont pas été configurés correctement. J'ai couru le code suivant et cela a fonctionné ... 

echo fs.inotify.max_user_watches=582222 | Sudo tee -a /etc/sysctl.conf && Sudo sysctl -p

Le but de cette commande est d’augmenter le nombre de surveillances autorisées pour un seul utilisateur. Par défaut, le nombre peut être faible (8192 par exemple). Lorsque nodemon tente de surveiller les modifications apportées à un grand nombre de répertoires, il doit créer plusieurs contrôles, qui peuvent dépasser cette limite.

Vous pouvez également résoudre ce problème en:

Sudo sysctl fs.inotify.max_user_watches=582222 && Sudo sysctl -p

Mais la façon dont il a été écrit en premier rendra ce changement permanent.

288
Erik Åsland

Selon la discussion sur ici , ENOSPC signifie Error No more hard-disk space available. Raison pour laquelle autant de mémoire requise par nodemon ou gulp-nodemon (dans mon cas), c'est qu'il regardait le contenu d'un dossier alors qu'il ne le devrait pas. Pour résoudre ce problème, nodemon a le paramètre ignore qui peut être utilisé pour indiquer à nodemon ce qu’il ne faut pas regarder. Jetez un oeil à nodemon sample config here .

15
Zubair Alam

Erik, Vous pouvez simplement tuer tous les autres processus de noeud en 

noeud pkill -f

puis redémarrez votre serveur. Cela fonctionnera très bien alors.

14
pawanpandey392
[nodemon] Internal watch failed: watch /home/Document/nmmExpressServer/bin ENOSPC
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! [email protected] start: `nodemon ./bin/www`
npm ERR! Exit status 1
npm ERR! 
npm ERR! Failed at the [email protected] start script.

C'est l'erreur que j'ai eu lors de l'exécution de nodemon ./bin/www.

La solution fermait une fenêtre Atom avec un répertoire complet de dossiers ouvert dans la fenêtre du projet.

Je ne sais pas pourquoi, mais je suppose qu'Atom et nodemon utilisent des processus similaires pour surveiller les fichiers/dossiers.

13
alucinare

Sur le serveur de noeud en cours d'exécution, les erreurs suivantes et les solutions sont affichées:

nodemon server.js 

[nodemon] 1.17.2 

[nodemon] pour redémarrer à tout moment, entrez rs 

[nodemon] regarde:.  

[nodemon] à partir de node server.js 

[nodemon] La surveillance interne a échoué: watch/home/aurum304/jin ENOSPC

Sudo pkill -f node

ou

echo fs.inotify.max_user_watches=524288 | Sudo tee -a /etc/sysctl.conf && Sudo sysctl -p
6
Mani Abi Anand

Ça marche pour moi.

echo fs.inotify.max_user_watches=524288 | Sudo tee -a /etc/sysctl.conf && Sudo sysctl -p
5
simba

Ajoutez un fichier de configuration nodemon.json dans votre dossier racine et spécifiez des modèles ignorés, par exemple:

nodemon.json

{
  "ignore": [
    "*.test.js", 
    "dist/*"
  ]
}
  • Notez que par défaut .git, node_modules, bower_components, .nyc_output, coverage et .sass-cache sont ignorés, vous n'avez donc pas besoin de les ajouter à votre configuration.

Explication: Cette erreur se produit car vous avez dépassé le nombre maximal d'observateurs autorisés par votre système (c'est-à-dire que nodemon n'a plus d'espace disque pour regarder tous les fichiers - ce qui signifie probablement que vous surveillez des fichiers non importants). Ainsi, vous ignorez les fichiers non importants pour lesquels vous ne vous souciez pas des modifications, par exemple la sortie de construction ou les scénarios de test.

4
Ahmed Soliman

Au lieu de spécifier une liste de répertoires à ignorer (par exemple, négative), vous pouvez également spécifier une liste de répertoires à surveiller (par exemple, positive):

nodemon --watch dir1 --watch dir2  dir1/examples/index.js

Dans mon cas particulier, je voulais regarder un répertoire et en ignorer environ neuf. Par conséquent, spécifier «--watch» était beaucoup plus simple que de spécifier «--ignore».

0
vt5491

J'ai eu la même erreur, mais dans Ubuntu 14.04 dans Windows 10 (Bash sur Ubuntu sur Windows). Tout ce que j'ai fait pour surmonter l'erreur a été de mettre à jour la mise à jour de Creators, ce qui m'a ensuite permis d'installer la version 16.04 d'Ubuntu bash, puis après avoir installé la dernière version de node (par les étapes this ), j'ai également installé la dernière version de npm. et puis le nodemon a commencé à fonctionner correctement.

0
Šimon Hrabec

dans mon cas, la fermeture du code de Visual Studio puis le démarrage du serveur ont fait l'affaire

Système d'exploitation - Ubuntu 16.4 lts

version de node.js - 8.11.1

npm version - 6.0.0

0
Vishal Verma

Après avoir exécuté nodemon, j'ai eu l'erreur suivante

[nodemon] 1.18.6 [0] [nodemon] to restart at any time, enterrs [0] [nodemon] watching: *.* [0] [nodemon] startingnode server.js [0] [nodemon] Internal watch failed: ENOSPC: no space left on device, watch 'some filename' [0] npm ERR! code ELIFECYCLE [0] npm ERR! errno 1 [0] npm ERR! [email protected] server:nodemon server.js [0] npm ERR! Exit status 1 [0] npm ERR! [0] npm ERR! Failed at the [email protected] server script.

Mais ceux-ci ont été résolus après l'exécution de cette commande:

`echo fs.inotify.max_user_watches=524288 | Sudo tee -a /etc/sysctl.conf && Sudo sysctl -p`
0
hardik chugh