为了使用--prefer-offline,您首先必须设置您的离线软件包仓库。
让我们在主文件夹的隐藏目录中设置缓存:
yarn config set yarn-offline-mirror ./.npm-offline
还设置一个配置,让 yarn 清理下载的 tarball:
yarn config set yarn-offline-mirror-pruning true
现在,每当您在某个项目中运行 yarn install 时,它都会缓存此目录中的模块,供您使用 yarn --prefer-offline 获取。
当您想稍后,也许在一个新项目中,从缓存安装时,您需要指定所需的模块版本,因为它没有latest 的概念。最简单的方法是简单地尝试添加:
yarn add moment
在我的机器上打印:
error Couldn't find any versions for "moment" that matches "latest" in our cache.
Possible versions: "2.1.0, 2.13.0, 2.17.0, 2.17.1, 2.18.1, 2.19.1, 2.19.2, 2.19.3, 2.8.4"
// Note that above is not in semver order...
然后我可以通过以下方式离线安装最新版本:
yarn add moment@2.19.3
@adrian 提到的 Yarn 博客 post 详细阐述了如何为每个项目缓存以及如何在需要时为您的团队提交缓存。我自己只使用一个缓存,以便能够在离线时启动新项目。