[javascript] Node.JS : 오류 가져 오기 : [nodemon] 내부 시계 실패 : ENOSPC 시계

방금 운영 체제에 처음으로 설치 Node.js했습니다 Ubuntu 14.04. 나는 또한 설치했다 npm. 설치 과정의 다음 단계는 설치 nodemon였습니다. 이 모든 것이 잘 작동했습니다.


그러나 명령 줄 nodemon을 입력하여 실행 nodemon app.js하면 다음 오류가 발생합니다 …

[nodemon] 1.8.1
[nodemon] to restart at any time, enter
RS
[nodemon] watching: *.*
[nodemon] starting
노드 app.js
[nodemon] Internal watch failed: watch ENOSPC

오류 아래의 명령 행에서 …

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

왜 이런 일이 발생합니까? 이것이 nodemon에 대한 정상적인 동작입니까? 그렇지 않은 경우 어떻게 해결할 수 있습니까?


부가 정보 …

1) 파일은 그 안에 app.js있는 Javascript파일입니다 console.log(111).
2) node버전은 v0.10.25
3) npm버전은 1.3.10
4) nodemon버전은 1.8.1
5) ubuntu버전입니다 …

Distributor ID: Ubuntu
Description:    Ubuntu 14.04.3 LTS
Release:    14.04
Codename:   trusty



답변

내 최대 포트가 올바르게 구성되지 않은 것 같습니다. 나는 다음 코드를 실행했고 효과가 있었다 …

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

이 명령은 단일 사용자에게 허용되는 시계 수를 늘리는 것입니다. 기본적으로 숫자는 낮을 수 있습니다 (예 : 8192). nodemon많은 수의 디렉토리를보고 변경을 시도 하면 여러 개의 감시를 작성해야하는데이 한계를 초과 할 수 있습니다.

다음을 통해이 문제를 해결할 수도 있습니다.

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

그러나 처음 작성된 방식은이 변경을 영구적으로 만듭니다.


답변

에릭, 당신은 다른 노드 프로세스를 모두 죽일 수 있습니다.

pkill -f 노드

그런 다음 서버를 다시 시작하십시오. 그때 잘 작동합니다.


답변

실행중인 노드 서버에 다음 오류 및 솔루션이 표시됩니다.

nodemon server.js

[nodemon] 1.17.2

[nodemon] 언제든지 다시 시작하려면 다음을 입력하십시오. rs

[nodemon] 관찰 : .

[nodemon] 시작 node server.js

[nodemon] 내부 시계 실패 : watch / home / aurum304 / jin ENOSPC

sudo pkill -f node

또는

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


답변

여기의 논의에 따라 , ENOSPC의미 Error No more hard-disk space available합니다. nodemon또는 gulp-nodemon(필자의 경우) 필요한 메모리가 많은 이유 는 폴더의 내용을보고 있지 않기 때문입니다. 해당 nodemon을 수정하려면 nodemon ignore에게 감시하지 않는 것을 알려주는 데 사용할 수있는 설정이 있습니다. 여기서 nodemon sample config를 살펴보십시오 .


답변

[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.

이것은 내가 실행할 때 얻은 오류 nodemon ./bin/www입니다.

솔루션은 프로젝트 창에서 전체 폴더 디렉토리가 열린 Atom 창닫았 습니다.

이유를 모르겠지만 Atom과 nodemon이 비슷한 프로세스를 사용하여 파일 / 폴더를 감시한다고 가정합니다.


답변

이 시도….

echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p​

반항적으로 작동합니다


답변

nodemon.json루트 폴더에 구성 파일을 추가하고 무시 패턴을 지정하십시오 (예 :

nodemon.json

{
  "ignore": [
    "*.test.js",
    "dist/*"
  ]
}
  • 기본적으로 참고 .git, node_modules, bower_components, .nyc_output, coverage그리고 .sass-cache당신이 당신의 구성에 추가 할 필요가 없습니다 무시됩니다.

설명 :이 오류 nodemon는 시스템에서 허용하는 최대 감시자 수를 초과했기 때문에 발생합니다 (즉, 모든 파일을 감시 할 수있는 디스크 공간 이 부족하여 중요한 파일을보고 있지 않음을 의미합니다). 따라서 빌드 출력 또는 테스트 사례와 같이 중요하지 않은 파일은 변경하지 않아도됩니다.