如何配置NPM优先检查本地已下载包?Yarn能否解决带宽消耗问题?
如何让包管理器优先使用本地已下载的包?
当然可以解决!不管是NPM还是Yarn,都有办法让它们优先调用本地已缓存的包,帮你省下大量带宽。下面直接给你具体操作步骤,不用再啃冗长文档啦:
NPM的配置方法
NPM本身自带缓存机制,只需要调整几个配置就能实现缓存优先:
- 先确认你的NPM缓存位置(方便后续排查):运行命令
npm config get cache,默认路径在Windows是%AppData%\npm-cache,Mac/Linux是~/.npm。 - 开启缓存优先模式(优先用本地缓存,没有再去联网下载):执行
npm config set prefer-offline true,这个是全局配置,之后所有npm install都会生效。 - 如果需要完全离线(只依赖缓存,找不到就报错,适合确定缓存全的场景):执行
npm config set offline true。 - 临时生效的方式:不想改全局配置的话,安装时加参数即可
npm install --prefer-offline。
Yarn的解决方案
Yarn从设计之初就把高效缓存作为核心特性,默认就会优先使用本地缓存,不过也可以进一步强化:
- 查看Yarn缓存位置:运行
yarn cache dir。 - 开启全局优先离线:执行
yarn config set prefer-offline true。 - 完全离线安装:直接用
yarn install --offline,全程不联网,只从缓存取包。
小技巧
如果你的项目依赖已经固定,可以先在有网络的环境下执行一次完整的npm install或yarn install,把所有依赖包缓存到本地,之后在带宽紧张或无网环境下,用离线模式就能快速完成安装啦。
内容的提问来源于stack exchange,提问作者user1729972
相关产品推荐
相关产品推荐

