2018-01-12T08:09:05.2269721Z [command]/usr/bin/npm install
2018-01-12T08:11:39.9810116Z npm WARN prefer global node-gyp@3.6.2 should be installed with -g
2018-01-12T08:11:43.0553293Z
2018-01-12T08:11:43.0578286Z > node-sass@4.7.2 install /home/johnny/myagent/_work/9/s/node_modules/node-sass
2018-01-12T08:11:43.0601546Z > node scripts/install.js
我想知道是什么原因导致npm花了3分钟开始。如图所示,它从 08:09:05开始第一次回调是在3分钟后 08 :11:39
答案 0 :(得分:1)
如果此行为仅发生在NPM install
命令上,则有意义。 NPM安装只是浪费时间,因为确定已安装的软件包需要3-4分钟。
尝试从控制台运行npm以查看TFS上的性能是否正常。如果所有NPM任务都花费很长时间,则一种可能性与nodejs版本有关。
例如,您使用的是构建代理程序上安装的最新版本,例如nodejs(8.x.0)。然后降级到最新的LTS(长期支持)版本(6.11.1)可能会为您解决问题。详细信息请查看此blog。
另一种方法是在构建计算机上使用{strong>缓存以前安装的依赖项 npm-cache,如果您没有执行构建代理清理。
对于运行[npm | bower | composer | jspm]的构建过程很有用 每次安装都是他们构建过程的一部分。由于依赖 不经常改变,这通常意味着更慢的构建时间。 NPM-缓存 通过缓存以前安装来帮助缓解此问题 依赖于构建机器。 npm-cache可以是一个插件 替换任何运行的构建脚本[npm | bower | composer | jspm] 安装。
工作原理
首先运行npm-cache install [npm | bower | jspm | composer] 在当前查找package.json,bower.json或composer.json 工作目录取决于请求的依赖项管理器。 然后它计算配置文件的MD5哈希并查看 对于缓存目录中名为.tar.gz的文件($ HOME / .package_cache 默认情况下)。如果该文件不存在,则npm-cache使用系统 安装依赖项管理器以安装依赖项。一旦 安装了依赖项,npm-cache会重新下载 依赖项并将它们存储在缓存目录中。下一次 npm-cache运行并看到相同的配置文件,它会找到tarball 在缓存目录中并解压当前的依赖项 工作目录。