【问题标题】:why ng serve is not auto compiling after saving the files in ubuntu vs code?为什么 ng serve 在 ubuntu vs code 中保存文件后不会自动编译?
【发布时间】:2019-10-27 17:18:54
【问题描述】:

我最近从 Windows 切换到 Ubuntu,并且 Visual Studio Code 中的 ng serve 不会在每次保存后自动编译代码。

我必须停止终端并再次触发命令来编译我的代码。

【问题讨论】:

  • 是的,问题是一样的,但是很难找到答案,为此我创建了一个单独的线程来有效地回答问题。
  • 还有stackoverflow.com/questions/40366212/…,其中的答案引用了与您完全相同的文章
  • 感谢您指出相似的问题。在创建新线程之前将尝试更有效地搜索。 @jonrsharpe
  • ng serve --poll=2000 ,原因只是vs code没有权限尝试以root身份运行vs code

标签: angular visual-studio-code ubuntu-18.04


【解决方案1】:

Listen 在 Linux 上默认使用 inotify 来监视目录 变化。遇到系统数量限制的情况并不少见 您可以监控的文件。例如,Ubuntu Lucid 的(64 位)inotify 限制设置为 8192。

您可以通过执行以下命令获取当前的 inotify 文件监视限制:

$ cat /proc/sys/fs/inotify/max_user_watches

当这个限制不足以监视一个内部的所有文件时 目录,必须提高限制才能使 Listen 正常工作。

您可以通过以下方式临时设置新的限制:

$ sudo sysctl fs.inotify.max_user_watches=524288
$ sudo sysctl -p

如果您想永久设置限制,请使用:

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

$ sudo sysctl -p

来源:https://github.com/guard/listen/wiki/Increasing-the-amount-of-inotify-watchers

【讨论】:

    【解决方案2】:

    有时自动刷新不起作用,因此您可以在命令之前使用 sudo 强制 ng serve 命令。 比如:sudo ng serve

    之后,您无需在每次保存后编译代码。

    【讨论】:

      猜你喜欢
      • 2021-08-16
      • 2019-04-04
      • 1970-01-01
      • 2020-04-19
      • 1970-01-01
      • 2022-11-11
      • 1970-01-01
      • 2019-07-13
      • 1970-01-01
      相关资源
      最近更新 更多