将 node_modules 添加到 repo 会使 ZSH 变慢

Adding node_modules to repo makes ZSH slow

我最近根据 this answer's advice.

添加了我的 node_modules 目录到版本控制

(顺便说一句,我不一定认为将 node_modules 添加到版本控制是一个好习惯,但我正在尝试让部署工作但我没有任何东西否则立即尝试。)

我现在的问题是,我 运行 发出的每个命令后都会有大约五秒钟的停顿,然后才能返回命令提示符。我假设这是因为我有一个 ~700MB node_modules 目录。

有没有办法加快 ZSH 的速度,或者如果我决定签入 node_modules,我只能忍受这种缓慢吗?

你的问题不清楚,但我推断正在发生的事情是:

  • 你有 zsh and/or 你的 zsh 插件配置为在你的提示中包含 git 回购状态的某些方面
  • 因此每次 zsh 去呈现你的提示时,它必须 运行 一个或多个 git 命令
  • 因为您的存储库太大,这些命令往往很慢

如果情况确实如此,您应该做的第一件事就是更改您的 zsh 配置以使这些细节不在您的提示中。这可以在您处理此特定项目时临时完成。这可能会在没有太多 cost/effort.

的情况下缓解最大的痛点

其次,您可以尝试使用 npm dedupe 使 node_modules 尽可能小。然后,您可以使用 npm prune --production 消除开发依赖性,这样开发依赖可以是本地文件,但只有生产所需的依赖才会在 git 中。这可能需要在 .gitignore 中进行一些 clever/verbose 配置,但可能可行。

但最终依赖于 git 是出于此类原因的失败之路。源代码管理是针对源代码的。