使用npm cache add时可以包含依赖项吗?

时间:2014-03-06 05:15:25

标签: node.js npm

目标是仅填充npm缓存。这个目标源于在初始设置后无需访问npm注册表就需要限制构建环境。

有没有办法让npm cache add <name>@<version>包含依赖项?

例如:

  1. npm cache add karma@0.10.9仅在缓存文件夹中创建业力
  2. npm install karma@0.10.9;rm -rf node_modules在缓存文件夹中创建业力及其所有依赖项,但需要删除本地安装的node_modules
  3. 在示例二中,执行npm install karma@0.10.9 --no-registry可以毫无问题地工作。是否可以避免创建然后删除本地node_modules以填充缓存的额外步骤?

1 个答案:

答案 0 :(得分:3)

  1. Generate npm-shrinkwrap.jsonnpm shrinkwrap --dev

  2. 安装并执行cache-shrinkwrap

  3. Delete resolved keys from shrinkwrap.json

  4. 将npm-shrinkwrap.json添加到项目的源代码管理中,以确保将来npm install --no-registry执行时只会请求缓存版本。