Angular/CLI — auto reload doesn't happen

百般思念 提交于 2020-04-07 12:09:35

问题


I recently started working with Angular/CLI tool, I'm facing a problem while executing the file, that is when I run

ng serve 

then this command helps us in auto reloading the site when any changes are made in the source file but in my system it is not happening (i.e. site is not auto reloading and when I forcely reload the site then also it is not getting updated as per changes made in the source file).

The site is getting updated only when I terminate the "ng serve" command and again run the same command("ng serve") then only my site is getting updated.

So it becomes hard for me to terminate the server and connect the server, when ever the changes are made, so I request you people if any one know solution of this problem please help me out.


回答1:


I also encountered the same problem a few days back in my linuxOS, and when I read about it, I found that this problem is heavily dependent on the system you use and the way you did your setup for angular-cli, both globally and locally. So, after reading readme.md created by angular-cli for each project, I tried using ng-build --watch but the problem still couldn't be solved because by running this command it should work like ng-serve but it only build the app and doesn't even served it on localhost:4200. then, after digging into the problem more deeper I found the problem, it was with my OS, I am using ubuntu, the inotify/max_user_watches value 8192, which I crossed, due to which it wasn't showing any changes made further. So i used these- echo "fs.inotify.max_user_watches=524288" | sudo tee -a /etc/sysctl.conf sudo sysctl -p and it worked fine.

p.s. in the process i also tumbled upon a solution with these commands - rm -rf nodes_modules/ -> npm update -> npm install. try this before doing above stated canges, if this works for you then you are well and good to go.




回答2:


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



回答3:


run ng serve with sudo, it worked for me

sudo ng serve

This is only for Linux!




回答4:


Ng serve automatically reload when the files are modified however if the config is messed up then you can try bellow command

ng serve --live-reload



回答5:


I am using angular 6 and increasing time on max_user_watches worked for me

sudo echo "fs.inotify.max_user_watches=524288" >> /etc/sysctl.conf

sudo sysctl -p /etc/sysctl.conf




回答6:


I have faced the same issue in my ubuntu machine. It was due to the permission settings. I changed the workspace permission settings by following the below mentioned steps.

  1. Open a terminal window.
  2. Type sudo chmod a+rwx /path/to/file into the terminal, replacing “/path/to/file” with the file you want to give permissions to everyone for, and press “Enter.” You can also use the command sudo chmod -R a+rwx /path/to/folder to give permissions to a folder and every file and folder inside it. Omit the “x” from either command if you don’t want the files to be executable.

I have used sudo chmod -R a+rwx /path/to/folder.

  1. Type your password at the password prompt and press “Enter.”

Once it is done, do npm build and start the application by ng serve.

[OR]

Simply you can use "sudo ng serve".

Now do the necessary changes in the workspace files and without restart, auto-reload happens. Hope this would be helpful!




回答7:


Just run all the following command and I hope it will work.

rm -rf nodes_modules/
npm update
npm install

and start the server again

ng serve -o



回答8:


@Durga Abhist I am using a Linux machine. I simply solved watch issue by just open the project path in the terminal in sudo mode. I did not do anything else.




回答9:


I met the problem when my devDependencies is Angular 7
but install angular/cli of version 8.x.x

"devDependencies": {
    "@angular-devkit/build-angular": "^0.13.8",
    "@angular/cli": "^7.3.8",
    "@angular/compiler-cli": "^7.2.12",
}

just remove the cli globally

npm unintsall -g @angular/cli
npm cache clean -f 

check the state

ng version # if remove successfully, the command would no work

then install cli again

sudo npm install @angular/cli@^7.3.8 -g



回答10:


it works for me: ng serve --poll=1000




回答11:


If you are using Linux system then the below command may be helpful for you

Run below command in terminal

sudo ng serve

It works for me !!



来源:https://stackoverflow.com/questions/44335456/angular-cli-auto-reload-doesnt-happen

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!