如何自动下载package.json列出的npm包并搭建离线可用本地依赖仓库
离线Yarn本地依赖仓库实现方案
有网环境准备操作
- 确保项目根目录下已存在完整的
package.json与yarn.lock文件,所有依赖已正确声明 - 在项目根目录新建
.yarnrc配置文件,添加以下内容:yarn-offline-mirror "./npm-packages-offline-cache"
yarn-offline-mirror-pruning true
yarn-offline true
上述配置分别指定了离线依赖包的存储目录、自动清理冗余缓存、默认开启离线安装模式 - 执行
yarn install,此时Yarn会自动将所有依赖的安装包下载到./npm-packages-offline-cache目录中 - 将
package.json、yarn.lock、.yarnrc以及npm-packages-offline-cache目录全部提交到你的本地仓库
无网环境安装操作
在无网设备上克隆仓库后,直接执行yarn install即可,所有依赖都会从本地缓存目录读取,无需连接互联网。
可选补充方案(Yarn 2.x/3.x适用)
如果你使用的是Yarn Berry版本(2.x及以上),可以直接开启官方的Zero Installs功能,将.yarn/cache目录提交到仓库,克隆项目后不需要执行安装命令即可直接使用依赖,更适配离线使用场景。
注意事项
- 后续新增、升级依赖时,都需要先在有网环境操作,执行
yarn install更新本地缓存目录后,再同步到离线仓库中 - 提交前可检查
npm-packages-offline-cache目录,确认所有依赖的tgz安装包都已完整下载
内容的提问来源于stack exchange,提问作者Campaio
相关产品推荐
相关产品推荐

