Yarn хранит зависимости вместе с хэшом в файле yarn.lock. Прежде всего удалим этот файл, если он уже создан.
rm yarn.lock
После установки node-пакетов, yarn сохраняет их в свой локальный кэш. Необходимо очистить его, чтобы при последующей установки пакеты брались из сети.
yarn cache clean
В старых версиях Yarn присутствовал баг, который не полностью удалял пакеты. В этом случае попробуйте удалить кэш самостоятельно.
rm -rf /home/%username%/.cache/yarn
Если у Yarn нет доступа к интернету и очищен кэш, он будет брать модули из директории модулей по-умолчанию. Исправьте это следующей командой
rm -rf node_modules/
Теперь нужно выбрать путь куда будут устанавливаться запакованные offline модули.
yarn config set yarn-offline-mirror ./yarn-packages
Чтобы не оставались устаревшие пакеты в хранилище, после команды yarn remove нужно выполнить:
yarn-offline-mirror-pruning
Теперь все готово к началу создания offline зеркала. Yarn создаст tgz файлы самостоятельно после ввода команды.
yarn install
Зайдя в создавшийся yarn.lock можно заметить как изменились пути к пакетам. Теперь у них будет значиться другой resolved путь.
Наконец, мы можем отключить интернет и попробовать загрузку без сети:
yarn install --prefer-offline