[angular] 자동으로 파일 변경을 감지하지 못함
ng serve
소스 파일이 변경 될 때마다 실행해야합니다 . 콘솔에 오류가 없습니다.
Angular CLI: 1.6.2
Node: 8.9.1
OS: linux ia32
Angular: 5.1.2
... animations, common, compiler, compiler-cli, core, forms
... http, language-service, platform-browser
... platform-browser-dynamic, router
@angular/cdk: 5.0.2-c3d7cd9
@angular/cli: 1.6.2
@angular/material: 5.0.3-e20d8f0
@angular-devkit/build-optimizer: 0.0.36
@angular-devkit/core: 0.0.22
@angular-devkit/schematics: 0.0.42
@ngtools/json-schema: 1.1.0
@ngtools/webpack: 1.9.2
@schematics/angular: 0.1.11
@schematics/schematics: 0.0.11
typescript: 2.4.2
webpack: 3.10.0
답변
대부분의 경우 Linux에서 ng serve
또는 ng build --watch
디렉토리에 충분한 권한이 없으면 작동하지 않습니다.
해결책은 필요한 권한을 제공하거나 sudo
대신 사용하는 것입니다.
최신 정보
감시 플래그 ng serve
는 기본 옵션이므로 실제로 중복됩니다. 실수를 지적한 @Zaphoid에게 감사드립니다.
답변
ng serve --poll=2000
Linux 및 Windows에서 잘 작동
답변
많은 수의 파일이있는 경우 Linux 에서 INotify Watches에 제한이 있음을 고려하십시오 . 예를 들어 시계 제한을 512K로 늘리면이 문제를 해결할 수 있습니다.
sudo sysctl fs.inotify.max_user_watches=524288
sudo sysctl -p --system
이전은 다시 시작한 후 손실되는 메모리 내 변경을 유발합니다.
그러나 다음 을 실행 하여 영구적으로 만들 수 있습니다 .
echo fs.inotify.max_user_watches=524288 | sudo tee /etc/sysctl.d/40-max-user-watches.conf && sudo sysctl --system
참고로 https://github.com/angular/angular-cli/issues/8313#issuecomment-362728855 및
https://github.com/guard/listen/wiki/Increasing-the-amount-를 확인할 수 있습니다. of-inotify-watchers
답변
왜냐하면 변경을 감지하는 시스템은 기본적으로 너무 많은 감시를 처리 할 수 없기 때문입니다.
그리고 해결책은 change the amount of watches
다음을 수행해야합니다 (프로젝트에 포함될 최대 파일 수) run this command
.
echo 65536 | sudo tee -a /proc/sys/fs/inotify/max_user_watches
inotify의 문제는 컴퓨터를 다시 시작할 때마다이 카운터를 재설정하는 것입니다.
답변
프로젝트에서 dist 폴더는 루트가 소유합니다.
sudo ng serve
대신 사용하십시오 ng serve
.
또 다른 해결책
많은 파일이있는 경우 Linux에서 작동하지 않는 것을보고 Linux에서 INotify Watches에 제한이 있습니다. 따라서 시계 제한을 늘리십시오.
//When live server not work in linux
sudo sysctl fs.inotify.max_user_watches=524288
sudo sysctl -p --system
ng serve //You can also do sudo **ng serve**
답변
문제를 해결하려면 sudo ng serve 를 실행하기 만하면 됩니다.
답변
이것이 내가 가진 것과 같은 문제라면 도움이 될 수 있습니다. 사용을 시도 ng serve
하고 ng build --watch
때로는 작동했지만 대부분은 코드 변경을 감시하지 않았고 ng
.
그러다가 inotify 시계를 사용 하면서 잠시 겪었던 문제가 생각났습니다.
나는 이것을 우분투 컴퓨터에서 실행했고 코드 변경을보고있는 것 같다 :
echo fs.inotify.max_user_watches = 524288 | sudo 티 /etc/sysctl.d/40-max-user-watches.conf && sudo sysctl –system
신용은 스콧 스미스 에게 간다