使用ng服务时,WebStorm无法保存文件

时间:2017-10-31 10:53:38

标签: node.js windows angular webstorm windows-subsystem-for-linux

使用ng serve --open --live-reload在我的开发机器上为Angular应用程序提供服务,并使用WebStorm更改文件时出现错误"无法保存文件"当WebStorm试图保存时。

当我在Sublime中编辑文件时,我没有任何问题,因此看起来这些文件没有被ng serve锁定。

开发设置

  • Windows 10主机
    • WebStorm 2017.2.3
    • Sublime Text 3 3143
  • Ubuntu在WSL中运行
    • ├─┬ @angular/cli@1.4.9 │ └── @ngtools/webpack@1.7.4 └── @ngtools/webpack@1.7.4
    • ng serve --open --live-reload

2 个答案:

答案 0 :(得分:5)

它不是服务锁定文件,也不是ubuntu和windows之间的任何交互。这是webstorm默认保存文件的方式。

默认情况下,webstorm会使用tmp名称保存文件副本,删除原件,然后将副本重命名为刚删除的副本。看起来这个过程(发生得很快)正在以某种奇怪的方式与ng服务交互,导致文件无法重命名,留下一个有趣的tmp文件。

解决方案是关闭'使用"安全写入" (首先保存对临时文件的更改)'在'系统设置'在'外表和行为'在webstorm设置中。

答案 1 :(得分:5)

这是WSL特有的已知问题,请参阅IDEA-173073Safe Writes功能不保留原始文件权限,在WSL上运行时会导致问题。解决方法是在文件|中禁用Use "Safe write"设置|外观&行为|系统设置