Подтвердить что ты не робот

Как заставить lein deps повторно извлекать локальные банки/библиотеки

используя следующие инструкции:

http://www.pgrs.net/2011/10/30/using-local-jars-with-leiningen/

Я установил некоторые локальные банки в локальный репозиторий.

Когда я хочу обновить банку в своем проекте, я снова устанавливаю банку в репозиторий, а затем запускаю разметки lein. Я нахожу, что так или иначе, банку не обновляется в моем проекте. Даже когда я rm -rf все в папке libs, новая банка не подбирается. Единственный способ, которым я смог заставить это работать, - это изменить имя банки.

Его вид нечетный, потому что это происходит даже тогда, когда я удалил все следы старой банки (насколько я знаю) - ли лейн скрыть моментальный снимок/кеш libs?

4b9b3361

Ответ 1

Leiningen использует maven для управления зависимостями. Maven по умолчанию сохраняет свое репо в

$HOME/.m2/repository

До leiningen версии 2 зависимости будут скопированы в <projecthome>/lib, но версия 2 и позже строит путь к классам, указывающий непосредственно на репозиторий.

Итак, удалите банку в своем локальном репозитории maven, и вы должны принудительно загрузить (re).

В качестве альтернативы полезно знать, что для зависимостей моментальных снимков maven будет проверять только новые версии моментальных снимков один раз в день (по умолчанию). В maven вы можете заставить его использовать флаг -U. Я не думаю, что leiningen выставляет это, но вы можете сделать.... (но см. ответ от barry-wark)

# force update of snapshots before starting repl
$ lein -U repl

Ответ 2

В lein 2 вы можете использовать флаг -U, например:

lein -U jar

Ответ 3

удалить папку .m2. И это будет повторно.