2015-10-10 1 views
3

Когда я использую следующую команду,Принуждение пакет обновления с Mix

mix deps.update --all

mix будет использовать локально кэшированные пакеты, если версия пакета не был изменен в файле mix.ex. Итак, вопрос в том, как я могу заставить mix не использовать кешированную версию и загрузить ее с сервера? Например, если в последней версии какого-либо пакета были изменения, и я хочу их забрать, даже если версия не была удалена.

+3

Он должен просто работать. Hex всегда будет восстанавливать пакет, если он находится в периоде, когда пакет все еще может быть обновлен. –

ответ

6

Первый из выпущенных Hex-пакетов может быть заменен только на 1 час после его создания, после чего он становится неизменным и никогда не будет изменяться. В будущем, когда Hex добавит инструменты для тестирования пакетов до выпуска, вы никогда не сможете изменить пакет, который был опубликован.

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

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