我正在使用基于NPM的工具构建HTML5前端(grunt
)。持续集成的NPM最佳实践
我的持续集成构建过程的第一步之一是运行npm install
。
npm install
是SLOW。即使使用本地NPM代理缓存工件(Sonatype的Nexus 3),它仍然需要4分钟!
$> time npm install
real 4m17.427s
user 0m0.170s
sys 0m0.290s
如果我按照我的持续集成常用的最佳实践,我就从一个原始的SCM仓库启动和运行构建。这意味着每次CI构建将不得不执行新的npm install
并承担4分钟的成本。
这是一个显着我的建造时间比例。我很不满意这个构建花了这么长时间。
另一种方法似乎是让node_modules
保持在构建之间。但是,由于构建变得不稳定,我遇到了问题。
从package.json
中删除依赖关系并不会从node_modules
中删除它们,只需使用简单的npm install
即可。我可以先用npm prune
解决这个问题。
什么被认为是最佳实践在这里?
你使用的是什么版本的npm? npm 5保留[本地程序包缓存](https://docs.npmjs.com/cli/cache)。 – msanford