目标是仅填充npm缓存。这个目标源于在初始设置后无需访问npm注册表就需要限制构建环境。
有没有办法让npm cache add <name>@<version>
包含依赖项?
例如:
npm cache add karma@0.10.9
仅在缓存文件夹中创建业力npm install karma@0.10.9;rm -rf node_modules
在缓存文件夹中创建业力及其所有依赖项,但需要删除本地安装的node_modules 在示例二中,执行npm install karma@0.10.9 --no-registry
可以毫无问题地工作。是否可以避免创建然后删除本地node_modules以填充缓存的额外步骤?
答案 0 :(得分:3)
Generate npm-shrinkwrap.json:npm shrinkwrap --dev
安装并执行cache-shrinkwrap
将npm-shrinkwrap.json添加到项目的源代码管理中,以确保将来npm install --no-registry
执行时只会请求缓存版本。