wsl2 中的 Angular-CLI 比默认的 powershell 慢得多是否正常?

opt*_*_ex 7 windows angular-cli angular wsl-2 ubuntu-20.04

在我最近的项目中,我用角与角CLI工作,我注意到这样的基本CLI命令ng g cng serveng build等需要更多的时间在WSL2终端(使用Ubuntu 20.04),比默认的PowerShell。

任何意见或建议如何解决这个问题?

Taz*_*zaf 9

如果您的项目文件存储在 Windows 文件系统上并从 WSL2 访问/启动,那么是的,它是“正常的”(或者更确切地说,已知)。在微软的文档提到这个问题:

如果您将使用 WSL Linux 发行版访问 Windows 文件系统上的项目文件,[...] 您将通过使用 WSL 1 实现跨操作系统文件系统的更快性能。

我在使用 WSL2 的 Angular 项目中遇到了同样的缓慢,而我的文件位于 Windows 文件系统上。

“有什么意见或建议如何解决这个问题?”

  1. 就我而言,将项目文件从 Windows 文件系统复制到 WSL2 文件系统(例如$HOME/src)修复了性能问题。在这种配置中,WSL2 实际上比 WSL1 快得多 :)

  2. 如果您需要将源代码保存在 Windows 文件夹中(可能是由于您的开发团队工作流程),那么您可能需要降级到 WSL1,假设您不需要 WSL2 的任何功能。出于这个原因,保留 WSL1 和 WSL2 会话是有意义的。您可以备份/克隆现有会话(请参阅wsl --exportwsl --import)并使用 为发行版设置 WSL 版本wsl --set-version

  3. 您还可以考虑共享 Windows 文件夹并通过 CIFS 挂载它。报告说这要快得多(虽然不如 ext4 快)。在 7 月 4 日看到这个 github 问题和来自 EvilVir 的建议解决方法。

  • Tazaf,如果您想将我的答案中的附加项目合并到您的答案中,我不介意(然后我可以删除我的答案)。如果您没有针对这个问题生成一些新活动,我就不会看到这个 20 天前的问题。 (2认同)
  • @NotTheDr01ds 你说得很公平。我可以更新我的答案以添加详细信息,但如果您提交并编辑我的答案,我会感觉更好,这样您至少在某种程度上对附加信息有所了解。 (2认同)
  • 啊,对了 - 对回答相当陌生,所以没有意识到这是一个选择。我现在就这么做。谢谢! (2认同)