首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >超慢节点npm命令

超慢节点npm命令
EN

Stack Overflow用户
提问于 2016-03-19 19:45:52
回答 6查看 14.6K关注 0票数 27

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

我正面临一个极其缓慢的国家预防机制的问题。例如,当我想检查节点的版本时

代码语言:javascript
复制
node --version
v4.4.0

我在毫秒内收到输出4.4.0。但当我打字的时候

代码语言:javascript
复制
npm --version

我需要等待荒谬的8-15秒才能接收输出!每个国家预防机制的命令都是一样的。

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

  1. 有什么线索可以导致这样的“睡眠”(只有在npm中,其他每个cmd命令都能正常工作,系统可以正常工作)?
  2. 我将感激任何我可以调试这个东西的技巧,看看引擎盖下面发生了什么
EN

回答 6

Stack Overflow用户

发布于 2020-12-27 18:39:12

我也有类似的问题,国家预防机制是缓慢的。我花了几个小时研究可能的解决方案。唯一适用于我的解决方案是禁用带有npm config set progress false --global的进度条,或者使用不同的终端,如git或windows终端。

票数 3
EN

Stack Overflow用户

发布于 2016-12-27 20:26:07

我打赌你的路径里有很多东西。这是这种情况的一个常见症状。

在您的终端中,运行:

代码语言:javascript
复制
echo "$PATH"

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

作为比较的基础,我精心制作的PATH on macOS是:

代码语言:javascript
复制
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

如果我运行which npm,输出是:

代码语言:javascript
复制
/usr/local/bin/npm

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

只需运行以下命令,您就可以快速地从上面试用我的PATH,而不会产生任何永久的后果:

代码语言:javascript
复制
OLDPATH="$PATH"
PATH='/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin'

现在试着运行之前速度快、速度慢的命令,看看是否有什么不同。

如果您开始看到“命令未找到”错误,请尝试递增地将内容添加回您的PATH,或者简单地运行:

代码语言:javascript
复制
PATH="$OLDPATH"

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

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

票数 1
EN

Stack Overflow用户

发布于 2020-04-21 11:14:38

尝试使用git bash代替CMD。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36106343

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档