programing

ng server는 파일 변경을 자동으로 감지하지 않습니다.

goodsources 2023. 4. 26. 23:17
반응형

ng server는 파일 변경을 자동으로 감지하지 않습니다.

는 어요겠뛰를 실행해야 .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

리스에서대경우의부분눅,경우▁most▁linux,▁in,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 를 참조할 수 있습니다.

때문에 변경 사항을 감지하는 시스템은 기본적으로 너무 많은 시계를 처리할 수 없습니다.

이를 해결하기 위해서는 다음과 같은 작업을 수행해야 합니다(프로젝트에 포함될 최대 파일 양).

echo 65536 | sudo tee -a /proc/sys/fs/inotify/max_user_watches

컴퓨터를 다시 시작할 때마다 이 카운터를 재설정하는 것이 innotify의 문제입니다.

프로젝트에서 dist 폴더는 루트별로 소유됩니다.

사용해 보십시오.sudo ng serveng serve.

다른 해결책

파일 수가 많을 때는 linux에서 watch가 작동하지 않습니다.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**

sudong serve만 실행하면 문제가 해결됩니다.

이것은 제가 겪었던 것과 같은 문제라면 도움이 될 수도 있습니다.사용하려고 합니다.ng serve그리고.ng build --watch때때로 작동했지만 대부분 그들은 코드 변경을 보지 않았고 나는 그것이 관련이 있다고 생각했습니다.ng.

그 때 저는 얼마 전에 알림 시계를 가지고 있던 문제가 생각났습니다.

내 우분투 컴퓨터에서 이것을 실행했는데, 시동이 걸려 코드가 변경되는 것을 보고 있는 것 같습니다.

echofs.inotify.max_user_watches=524288 | sudote /etc/sudoctl.d/40-max-user-watches.conf & & sudo sysctl --system

Scott Smith에게 공로가 있습니다.

SO 파라미터는 변경하지 않는 것이 좋습니다.다른 서비스가 실행되고 있으므로 fs.inotify.max_user_watches 매개 변수를 변경한 후 몇 가지 (지연) 문제가 발생했습니다.

"ng serve --ng serve=2000"은 좋은 솔루션이지만 이 매개 변수를 잊어버리게 될 것입니다...

조사 중: https://github.com/angular/angular-cli/wiki/angular-cli 저는 다음과 같은 해결책을 수행했습니다.

폴 매개 변수가 있는 degangle.json이 변경되었습니다.

"serve": {
   "builder....
   "options": {
        "browserTarget": "xkcd:build",
        "poll": 2000
   }
   ...

내 시스템에서 작업:D

이거 먹어봐요.이렇게 하면 항상 명령을 실행할 필요가 없습니다. 한 번만 실행하면 됩니다.

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

cat /proc/sys/fs/inotify/max_user_watches

fs.inotify.max_user_watches=524288

내겐 안 통했어요

ng serve --watch

시도:

sudo ng serve

이것은 나에게 효과가 있었습니다!

오류가 합니다. - " " " " " 에서 확인합니다. 특히index.html또는 이 자동 업데이트가 중단되기 직전에 최근에 편집한 코드의 일부입니다.구문 오류로 인해 Angular에서 이 자동 업데이트 기능이 중단됩니다.

저의 경우 여러 프로젝트가 별도의 VS Code 창에 열려 있었습니다.모든 프로젝트에 , 다른모프에서트젝로든서▁on.ng serve예상대로 작동했습니다. 저장 시 자동으로 업데이트됩니다.그러나 한 프로젝트에서는 업데이트를 위해 수동으로 새로 고쳐야 합니다.결국 제가 템플릿의 정의된 HTML 영역 밖에 HTML 주석이 있었기 때문입니다(그래서 HTML 주석이 이전에 있었습니다).<!doctype html>그래서 그것은 HTML 영역 외부의 HTML 구문이 잘못되었습니다.

댓글을 지우고 쾅, 자동 업데이트가 다시 작동하기 시작했습니다(한 번 더 수동으로 새로 고침).

그러니 지나가세요.index.html또는 이 문제가 발생하기 전에 최근에 편집한 코드의 다른 부분을 하나씩 잘라내고 브라우저에서 새로 고침을 수행한 다음 VS Code로 돌아와서 변경 내용을 저장하고 자동 업데이트 여부를 확인합니다.

프로젝트의 dist/폴더가 루트 소유라는 것을 발견했습니다.그게 이유다sudo ng serve는 " 의경변내표시니다됩용이경우다▁when▁changes표▁see▁the▁does니시됩" 때의 변경 내용을 보여 줍니다.ng serve하지 않다.

dist/folder를 했습니다.sudo rm -R dist/ server 를 시작하여 현재 합니다.ng serve그리고 모두 다시 작동했습니다.

새로운 Linux Ubuntu 설치에서 이 문제가 발생했을 때 동시에 VSCode의 'Too many watchers for limit'에 대한 오류가 발생했습니다.지침에 따라 VSCode에서 수정을 했는데 ngwatch 문제도 수정이 되었습니다.자세한 내용은 여기 https://code.visualstudio.com/docs/setup/linux#_visual-studio-code-is-unable-to-watch-for-file-changes-in-this-large-workspace-error-enospc 에서 확인하십시오.

나는 사람들이 제안하는 것을 알아차렸습니다.sudo망을 보다이것은 위험한 게임입니다. 당신은 당신의 시스템에 대한 npm 패키지의 루트 액세스를 제공하고 있습니다.사용 권한이 맞다면 사용자별로 제한이 있고 sudo를 실행하면 제한이 지난 현재 사용자 대신 루트로 실행되고 있기 때문에 제 문제가 해결책이 될 수 있습니다(vscode 또는 atom과 같은 watch havy idea를 실행).어떤 이유로 인해 잘못된 사용 권한이 있는 경우 다음을 사용하여 사용자/그룹에 올바르게 설정합니다.chown.

저도 같은 문제가 있었습니다.sudo ng serve만족스럽지 않게 문제를 "해결"하는 것처럼 보였습니다.용사를 합니다.sudo만족스러운 IMO가 아닙니다.

는 다음을 사용하여 8192)를했습니다. lsof | grep inotify | wc -l 위 명령에서 반환된 값이 제한보다 훨씬 작습니다.그래서 INotify 솔루션이 제 문제에 적용되지 않는 것 같습니다.

또한 권한과 소유권을 확인했는데, 둘 다 문제가 없어 보였고, 작동한 다른 프로젝트와 비교할 수 있었습니다.

답답해서 VS Code를 다시 시작했습니다.기본적으로 모든 인스턴스를 닫았고, 두 개를 실행했다가 다시 열었고, 그 후 문제가 해결되었습니다.

저는 어딘가에 있을 수 있는 버그에 기대고 있습니다.이것은 시스템을 뒤집기 전에 고려해야 할 사항입니다.다행히/불행히도 이 문제는 다시 발생하지 않았습니다, 발생한다면 더 깊이 파고들겠습니다.

이것도 드셔보세요.

sudo ng serve

sudo ng serve명령은 나쁜 관행입니다.변경해야 합니다.npm해야 할 을 지정합니다.npm packages은 필요없습다니가할사용을 사용할 필요가 없습니다.sudo.

링크는 현재 사용자에게 npm 권한을 변경하는 방법을 해결할 수 있으며 npm 권한을 설정한 후 이 단계를 수행한 후 제거할 수 있습니다.node_modules 프젝트폴더및사용의를 사용합니다.npm install에는 패지설완후실수있다니습을 할 수 .ng serve그리고 당신은 할 필요가 없습니다.sudo ng serve각진 프로젝트를 실행하고 싶을 때마다.

제 대답은 유용하지 않을 수도 있지만, 저는 이것 때문에 이 질문을 검색합니다.

새 컴퓨터를 산 후 편집기에 자동 저장을 설정하는 것을 잊었습니다.따라서 코드는 실제로 변경되지 않고 유지됩니다.

창 -

c:\>ng serve --open

Linux의 경우 -

$sudo ng serve --open

참고로 제 사건을 여기에 두고 싶습니다.저의 경우, 시스템 권한에 문제가 있었습니다.VM 내부의 공유 폴더를 레포로 사용했습니다.저는 허가 거부 같은 다른 메시지를 받지 못했습니다.모든 것을 시도해 본 후에야 네트워크 드라이브를 사용하고 있다는 것을 깨달았습니다.

서버를 다시 시작하는 것이 제게 효과가 있었습니다.

프로젝트 폴더에 대한 전체 권한을 부여하는 것이 제게 도움이 되었습니다.

Mac의 경우 로그온한 사용자에게 /usr/local/lib에 대한 읽기/쓰기 권한을 부여하여 수정되었습니다.

저도 제 .root에 상응하는 그룹인 그고그룹에당해리▁and.root당신은 을 에서확수있에서 할 수 .ls -hal저는 시스템을 사용하던 사용자에게 둘 다 설정하여 수정했습니다.

다음과 같은 기능을 사용할 수 있습니다.chown -R username:groupname *

이 명령어가 정확히 무엇을 하는지 알고 싶다면 다음을 확인하십시오.

https://superuser.com/questions/462141/how-to-chown-chmod-all-files-in-current-directory

서브하기 전에 sudo를 사용하세요.터미널 유형: 'sudong serve'

IDE를 다시 시작한 것이 제게 도움이 되었습니다.VS 코드를 사용하고 있습니다.

vsCode를에는 vsCode를 하는 것을 수 .Auto Save.

이하여선택을 선택합니다.File > Auto Save자동 저장을 활성화합니다.

그 문제는 해결될 것입니다.

저에게 효과가 있었던 것은:

rm -rf node_modules && npm install

그리고 나서.

ng serve

언급URL : https://stackoverflow.com/questions/48092880/ng-serve-not-detecting-file-changes-automatically

반응형