Я играю с Clojure недавно. Насколько мне известно, наиболее любимым инструментом управления зависимостями в экосистеме Clojure является Leiningen. Но я также обнаружил, что Clojure предоставил инструменты CLI, которые, вероятно, могли бы заменить Leiningen. Из-за ограниченности опыта в Clojure я не совсем понимаю разницу между Leiningen и этими инструментами CLI. Я слышал, что эти инструменты CLI намного легче, что это значит? Как я должен их использовать?
В чем разница между инструментами CLI Leiningen и Clojure и как их использовать?
Ответ 1
Инструменты CLI более ограничены по объему, чем Leiningen - это небольшой инструмент, который вы можете использовать для быстрого запуска REPL. В сочетании с tools.deps.alpha
его можно использовать для запуска кода и получения сторонних зависимостей. Вы можете прочитать больше об этом здесь.
Лейнинген может сделать все это, плюс:
- создавать артефакты развертывания (uberjars)
- запустить сервер REPL или подключиться к работающему
- управлять смешанными проектами (например, Clojure + Java или Clojure + Clojurescript)
- запускать произвольные задачи в вашем проекте
- управлять зависимостями
- поддержка плагинов (линтеры, инструменты развертывания)
- интегрировать с Maven
В репозиторий Lein входит файл примера проекта sample.project.clj, который немного перегружен, но показывает все, что может делать Lein.
На этом этапе Lein более полезен для создания приложений и библиотек, поскольку в нем есть все функции, которые могут вам понадобиться для этого. Тем не менее, инструменты CLI + tools.deps
быстро набирают обороты, и есть проекты, которые добавляют все недостающие биты от Leiningen.