Spec-Zone.ru › Yarn 3

Кэш офлайн

Кэш офлайн — это функция, которая позволяет Yarn работать без проблем даже при отключении сети по любой причине — будь то из-за несвоевременной оплаты счетов со стороны работодателя или из-за недоступности места размещения ваших пакетов. Это также важная часть Zero-Installs и не хранит больше одного файла для каждого пакета, что делает его подходящим для хранения в репозитории, как это делается в самом репозитории Yarn.

Его работа проста: каждый раз, когда пакет загружается из удаленного расположения («удаленное» — это общее понятие в данном контексте: у зависимостей, указанных через file: протокол, тоже есть удаленное расположение, даже если в их случае это будет локальная файловая система), копия будет сохранена в кэше. В следующий раз, когда этот же пакет потребуется установить, Yarn воспользуется версией, сохранённой в кэше, вместо загрузки исходного источника.

Расположение локального кэша относительно корня проекта можно настроить с помощью параметра конфигурации cacheFolder. По умолчанию он .yarn/cache.

  • Отключение кэша
  • Очистка кэша
  • Общий доступ к кэшу
  • Целостность кэша

Отключение кэша

Поскольку кэш офлайн используется для работы PnP (файлы читаются непосредственно из архивов zip), отключить кэш нельзя. Однако, если необходимо, можно полностью удалить папку кэша — она будет просто пересоздана при следующем запуске yarn install.

Локальный кэш можно отключить, разделив доступ к кэшу, в этом случае будет использоваться глобальный кэш.

Глобальный зеркало можно отключить, используя параметр конфигурации enableMirror. Это не рекомендуется при использовании локального кэша, так как глобальное зеркало — это абстракция между локальным кэшем и сетью, хранящая все загруженные пакеты для будущего использования, чтобы сократить время установки.

Очистка кэша

Yarn автоматически очищает кэш от ненужных пакетов, когда вы удаляете или обновляете их. В случае необходимости ручного удаления кэша, вы можете использовать команду yarn cache clean.

Однако глобальное зеркало необходимо очищать вручную, используя команду yarn cache clean --mirror.

Общий доступ к кэшу

Начиная с Yarn v2, Yarn по умолчанию настраивает кэш локально для вашего проекта. Это делается для того, чтобы было проще хранить его в вашем репозитории, что, по нашему мнению, является лучшим способом гарантировать, что ваши проекты по-прежнему будут устанавливаться без проблем независимо от доступности регистров пакетов.

Тем не менее, это может не иметь смысла во всех случаях. Например, вы можете работать над небольшой библиотекой и не заботиться о проверке включения вашего кэша. Если это ваш случай, добавьте следующую строку в файл .yarnrc.yml локально в вашем проекте. Это даст указание Yarn использовать специальный путь, который будет общий для всех проектов, которые указывают такую же конфигурацию:

enableGlobalCache: true

Расположение общего кэша всегда <globalFolder>/cache, что соответствует расположению глобального зеркала.

Целостность кэша

Поскольку контрольные суммы архивов хранятся в файле блокировки, любая порча кэша будет обнаружена во время установки, и вас попросят решить проблему — либо удалив поврежденный файл, либо обновив контрольную сумму. Последнее следует делать только опытным пользователям в крайне специфических случаях.

© 2016–present Yarn Contributors
Licensed under the BSD License.
https://v3.yarnpkg.com/features/offline-cache

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API