Most of the times in Linux, ng serve or ng build --watch doesn’t work if the directory doesn’t have sufficient permissions.
The solution is either to provide the necessary permissions or to use sudo instead.
UPDATE
watch flag in ng serve is actually redundant as it is the default option. Credit to @Zaphoid for pointing out the mistake.