使用npm cache add时,是否可以包含依赖关系?

目标是只填充npmcaching。 这个目标是由于在初始设置完成后不需要访问npmregistry而引发限制性构build环境。

有没有办法让npm cache add <name>@<version> include依赖关系?

例如:

  1. npm cache add karma@0.10.9只在caching文件夹中创build业力
  2. npm install karma@0.10.9;rm -rf node_modules在cache文件夹中创buildkarma及其所有依赖关系,但需要删除本地安装的node_modules

在示例二中,执行npm install karma@0.10.9 --no-registry正如希望的那样没有问题地工作。 是否有可能避免创build和删除本地node_modules为了填充caching的额外步骤?

  1. 生成npm- npm shrinkwrap --devnpm shrinkwrap --dev

  2. 安装并执行cache-shrinkwrap

  3. 从shrinkwrap.json中删除parsing的键

  4. 将npm-shrinkwrap.json添加到您的项目的源代码控制中,以保证在将来执行npm install --no-registry时,只会请求caching的版本。