超慢节点npm命令

时间:2016-03-19 19:45:52

标签: node.js windows cmd npm

我有节点v.4.4和npm v.2.14.20(默认与windows安装程序捆绑在一起)。我的操作系统:Windows 7 64位。硬件:戴尔笔记本电脑,16GB内存,SSD,核心i7。

我面临着极慢的npm问题。例如,当我想用​​

检查节点的版本时
node --version
v4.4.0

我在几毫秒内收到输出4.4.0。 但是当我输入

npm --version

我需要等待荒谬的 8-15秒来接收输出!每个npm命令都是一样的。

我尝试了什么:更新npm(到最近的3.x版本),将节点更新到5.9.0,我也尝试了x86版本的运气 - 同样的事情。

  1. 任何可能导致这种情况的线索"睡眠" (它只有npm,每个其他cmd命令都能正常工作,系统运行正常吗?
  2. 我将非常感谢能够调试此内容的任何提示,以了解引擎盖下的内容

6 个答案:

答案 0 :(得分:1)

我打赌你PATH中有很多项目。这是该情景的常见症状。

在您的终端中,运行:

echo "$PATH"

如果输出中包含超过8个或9个冒号,或者那里有根目录/之类的大目录,那么这很可能是罪魁祸首。

作为比较的基础,我在macOS上精心设计的PATH是:

/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

如果我运行which npm,则输出为:

/usr/local/bin/npm

这告诉我npm我的PATH位于早期,这对性能非常重要,因为PATH从左到右搜索在每个目录中存在npm

您只需运行以下命令即可快速尝试上面的PATH而不会产生任何永久性后果:

OLDPATH="$PATH"
PATH='/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin'

现在尝试运行以前快速和慢速的命令,看看是否有任何差异。

如果您开始看到“未找到命令”错误,请尝试逐步将内容添加回PATH或直接运行:

PATH="$OLDPATH"

否则,如果性能保持不变,则可能不是您的PATH。但如果情况有所改善,请继续阅读以使其成为永久性的。

选择最适合您的PATH并将其放入shell的启动文件中。这通常位于~/.bashrc~/.bash_profile。尝试找到已经有PATH=...行的启动文件,注释掉现有行(确保添加解释性注释),然后插入一个具有更好值的类似行。

答案 1 :(得分:0)

遵循 Seth Holladay 的回答,但具有Windows的解决方案

转到我的计算机
右键点击我的电脑,然后选择底部的属性
查看左侧的标签,点击其他系统参数
点击底部的环境变量
在这里,您可以在顶部更改用户环境变量,在底部更改系统范围的环境变量

答案 2 :(得分:0)

升级您的NPM和NodeJS。

答案 3 :(得分:0)

尝试使用git bash代替CMD

答案 4 :(得分:0)

我在 npm 速度慢方面遇到了类似的问题。我已经研究了几个小时的可能解决方案。唯一对我有用的解决方案是使用 npm config set progress false --global 禁用进度条,或者使用不同的终端,例如 git bash 或 windows 终端。

答案 5 :(得分:0)

禁用防火墙/防病毒

如果您的机器属于公司,它可能包含防火墙/防病毒软件,会延迟命令行中的每个命令。

当每个 git 命令花费 10 秒以上时,我遇到了同样的问题。

在尝试与 IT 部门诊断问题时,我们发现在 Windows 7 中禁用防火墙/防病毒软件后,一切都运行得更快(应该如此)。

升级到 Node15

这是 NodeJs 的最新稳定版本。 Node 自带 Npm,所以你也会自动获取最新的 Npm。