使用ng serve --open --live-reload
在我的开发机器上为Angular应用程序提供服务,并使用WebStorm更改文件时出现错误"无法保存文件"当WebStorm试图保存时。
当我在Sublime中编辑文件时,我没有任何问题,因此看起来这些文件没有被ng serve
锁定。
开发设置
├─┬ @angular/cli@1.4.9
│ └── @ngtools/webpack@1.7.4
└── @ngtools/webpack@1.7.4
ng serve --open --live-reload
答案 0 :(得分:5)
它不是服务锁定文件,也不是ubuntu和windows之间的任何交互。这是webstorm默认保存文件的方式。
默认情况下,webstorm会使用tmp名称保存文件副本,删除原件,然后将副本重命名为刚删除的副本。看起来这个过程(发生得很快)正在以某种奇怪的方式与ng服务交互,导致文件无法重命名,留下一个有趣的tmp文件。
解决方案是关闭'使用"安全写入" (首先保存对临时文件的更改)'在'系统设置'在'外表和行为'在webstorm设置中。
答案 1 :(得分:5)
这是WSL特有的已知问题,请参阅IDEA-173073:Safe Writes
功能不保留原始文件权限,在WSL上运行时会导致问题。解决方法是在文件|中禁用Use "Safe write"
设置|外观&行为|系统设置