방금 운영 체제에 처음으로 설치 Node.js
했습니다 Ubuntu 14.04
. 나는 또한 설치했다 npm
. 설치 과정의 다음 단계는 설치 nodemon
였습니다. 이 모든 것이 잘 작동했습니다.
그러나 명령 줄 nodemon
을 입력하여 실행 nodemon app.js
하면 다음 오류가 발생합니다 …
[nodemon] 1.8.1
RS
[nodemon] to restart at any time, enter
노드 app.js
[nodemon] watching: *.*
[nodemon] starting
[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
는 시스템에서 허용하는 최대 감시자 수를 초과했기 때문에 발생합니다 (즉, 모든 파일을 감시 할 수있는 디스크 공간 이 부족하여 중요한 파일을보고 있지 않음을 의미합니다). 따라서 빌드 출력 또는 테스트 사례와 같이 중요하지 않은 파일은 변경하지 않아도됩니다.