频繁发布 npm 包时如何确保始终安装最新版本

在一些极端情况下可能需要频繁发布 npm 包，而 npm 默认的缓存时间是 5 分钟。也就是说，在五分钟之内只会请求一次 npm 包的元数据，如果在更新后五分钟之内再次发包，默认情况下是不会检测到新版本的。

这个时候，如果你搭配 ncu（npm-check-updates 包）更新了 package.json 里的包到最新版本的话，由于 npm 的缓存，执行 npm i 会显示找不到目标 npm 包的指定版本从而更新失败。

解决方案

使用 --prefer-online 标志

执行 npm install 或 npm update 时添加 --prefer-online 标志，设置优先从远程 registry 获取。

Copy
npm install --prefer-online xxx

要将 prefer-online 设置应用于项目范围内，可以在项目根目录下的 .npmrc 文件中添加以下设置：

Copy
prefer-online=true

类似的选项还有 --prefer-offline 等，--cache-max=0 选项其实是 --prefer-online 的 alias。有关 npm config 的更多信息请参考 npm doc。