[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

신용은 스콧 스미스 에게 간다