【问题标题】:WebStorm cannot save file when using ng serve使用 ng serve 时 WebStorm 无法保存文件
【发布时间】:2017-10-31 10:53:37
【问题描述】:

当使用 ng serve --open --live-reload 在我的开发机器上提供 Angular 应用程序并使用 WebStorm 更改文件时,当 WebStorm 尝试保存时,我收到错误“无法保存文件”。

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

开发设置

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

【问题讨论】:

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


    【解决方案1】:

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

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

    解决方法是在 webstorm 设置的“外观和行为”下的“系统设置”中关闭“使用“安全写入”(首先将更改保存到临时文件)。

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        猜你喜欢
        • 2011-09-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-11-13
        • 1970-01-01
        • 1970-01-01
        • 2015-05-27
        相关资源
        最近更新 更多