npm搜索需要很长时间

Mad*_*ern 8 npm

一般来说,npm搜索行为很奇怪,需要很长时间,并且它会不时地按顺序和时间变化.

我第一次写作

$ npm search jquery
Run Code Online (Sandbox Code Playgroud)

花了两分多钟.后续搜索大约需要30秒.有时我会在http请求之前获得匹配,有时反过来:

首先匹配结果

$ npm search jquery.appendgrid
NAME               DESCRIPTION                                         AUTHOR      DATE              VERSION KEYWORDS
jquery.appendgrid  appendGrid - The dynamic table input jQuery plugin  =hkalbertl  2014-12-21 08:09  1.5.1  jquery-plugin ui header-detail master-d
npm http GET https://registry.npmjs.org/-/all/since?stale=update_after&startkey=1419625615355
npm http 200 https://registry.npmjs.org/-/all/since?stale=update_after&startkey=1419625615355
Run Code Online (Sandbox Code Playgroud)

匹配结果最后

$ npm search jquery.appendgrid
npm http GET https://registry.npmjs.org/-/all/since?stale=update_after&startkey=1419625643062
npm http 200 https://registry.npmjs.org/-/all/since?stale=update_after&startkey=1419625643062
NAME               DESCRIPTION                                         AUTHOR      DATE              VERSION KEYWORDS
jquery.appendgrid  appendGrid - The dynamic table input jQuery plugin  =hkalbertl  2014-12-21 08:09  1.5.1  jquery-plugin ui header-detail master-d
Run Code Online (Sandbox Code Playgroud)

无论哪种情况,大约需要30秒.由于它花了不到最初的两分钟,我猜有些东西已被缓存,但它仍然会产生一个http请求,但它仍然需要很长时间.这不是第一个http线和第二个http线之间的时间,只需要1-2秒.但是前后都有很多等待时间.

发生了什么事,我可以加快速度吗?

Sam*_*kes 17

一年前,当编写该教程时,npm发布的包较少.目前有超过100,000.为了执行a npm search,请npm下载描述所有包的JSON文件,对其进行粗略索引,然后搜索所有包描述.

结果是,npm search由于本地命令现在基本上已被破坏 - 它完成但非常缓慢,并且它创建了一个惊人的大文件(60MB).

目前建议的解决方法是使用https://www.npmjs.com/上的在线搜索工具