【问题标题】:npm is very slow on Windows 10npm 在 Windows 10 上非常慢
【发布时间】:2020-07-17 05:00:55
【问题描述】:

这个问题基本上是this one 的重复问题,除了该问题的公认答案是“它实际上并不慢,只是你没有正确运行计时命令。”

就我而言,它实际上更慢! :)

我使用的是 Windows 10。这是 PowerShell 的 Measure-Command 的输出(TotalMilliseconds 行代表挂钟时间):

PS> Measure-Command {npm --version}

Days              : 0
Hours             : 0
Minutes           : 0
Seconds           : 1
Milliseconds      : 481
Ticks             : 14815261
TotalDays         : 1.71472928240741E-05
TotalHours        : 0.000411535027777778
TotalMinutes      : 0.0246921016666667
TotalSeconds      : 1.4815261
TotalMilliseconds : 1481.5261

其他一些数字,用于比较:

  • '{.\node_modules.bin\mocha}':1300ms
  • 'npm run test'(只运行 mocha):3300 毫秒
  • npm help:1900 毫秒。
  • 节点解释器本身没问题:node -e 0:180ms

不只是 npm 慢...mocha 报告说我的测试只需要 42 毫秒,但正如您在上面看到的,mocha 需要 1300 毫秒来运行这 42 毫秒的测试!

【问题讨论】:

  • 只是一个盲注...尝试以管理员身份运行 shell,也许可以考虑使用 git bash (mingw64) 并在其中运行 npm
  • 在 Powershell 管理控制台下运行 NPM:仍然很慢。在 cygwin bash 下运行 Windows 本机节点/npm:仍然很慢。在 WSL 下运行 linux node/npm:更快(但运行 --version 仍然需要 370 毫秒。在本机 linux 上应该有多快?)但是 WSL npm 在 windows 文件系统上运行时有问题。
  • 没有尝试运行 cygwin node/npm 但我试图尽可能避免 WSL 和 cygwin - 我使用的是 windows IDE 和我的 linter 等都必须与窗户边……
  • 在我的情况下,即使 npm -v 也需要很长时间

标签: node.js windows npm


【解决方案1】:

我也遇到过同样的问题。您有赛门铁克端点保护吗?尝试在更改设置 > 客户端管理 > 常规 > 启用应用程序和设备控制中禁用应用程序和设备控制。

(您可以完全禁用 SEP;对我来说,命令是:"%ProgramFiles(x86)%\Symantec\Symantec Endpoint Protection\smc.exe" -stop。)

如果您有其他一些防病毒软件,也可能有办法将其禁用。请注意,在通知区域关闭应用程序可能不会停止病毒防护。任何一种在进程启动时扫描进程的实时保护都可能出现问题。由于 node 和 git 是频繁调用的短期运行进程,因此这种延迟更加明显。
在 Powershell 中,我喜欢测量 git status 的性能,包括更改之前和之后:Measure-Command { git status }

【讨论】:

    【解决方案2】:

    我很久以前就遇到过这个问题,我认为这是我的扩展。我使用 Visual Studio Code,当它没有扩展并运行 bash 时:

    //GIT Bash Configuration
    "terminal.integrated.shell.windows": "C:\\Program Files\\Git\\bin\\bash.exe",
    

    它确实会飞,我使用这两种操作系统,所以我可以分辨出区别。尝试使用不同的工具并禁用一些。

    如果这仍然不起作用,请检查您的防病毒软件,也许它会减慢进程?

    【讨论】:

      【解决方案3】:

      整天在谷歌上搜索,没有运气。决定卸载 Java 看看会发生什么和宾果游戏,解决了我的问题。我知道这是一个旧线程,但我发现自己多次回到它,看看我是否遗漏了什么。

      题外话: 现在必须弄清楚如何让 Java 工作? 不知道Measure-Command,所以我以后会用它!

      【讨论】:

        猜你喜欢
        • 2021-10-29
        • 2015-06-06
        • 2015-11-19
        • 2021-12-24
        • 1970-01-01
        • 2021-02-01
        • 2018-11-14
        • 2010-12-17
        • 2017-08-10
        相关资源
        最近更新 更多