Как заставить lein deps повторно извлекать локальные банки/библиотеки
используя следующие инструкции:
http://www.pgrs.net/2011/10/30/using-local-jars-with-leiningen/
Я установил некоторые локальные банки в локальный репозиторий.
Когда я хочу обновить банку в своем проекте, я снова устанавливаю банку в репозиторий, а затем запускаю разметки lein. Я нахожу, что так или иначе, банку не обновляется в моем проекте. Даже когда я rm -rf все в папке libs, новая банка не подбирается. Единственный способ, которым я смог заставить это работать, - это изменить имя банки.
Его вид нечетный, потому что это происходит даже тогда, когда я удалил все следы старой банки (насколько я знаю) - ли лейн скрыть моментальный снимок/кеш libs?
Ответы
Ответ 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. И это будет повторно.