【发布时间】: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 也需要很长时间