В чем разница между инструментами CLI Leiningen и Clojure и как их использовать? - PullRequest
0 голосов
/ 11 ноября 2018

Я играю с Clojure недавно. Насколько мне известно, наиболее любимым инструментом управления зависимостями в экосистеме Clojure является Leiningen. Но я также обнаружил, что Clojure предоставил CLI tools , которые, вероятно, могли бы заменить Leiningen. Из-за ограниченности опыта в Clojure я не совсем понимаю разницу между Leiningen и этими инструментами CLI. Я слышал, что эти инструменты CLI намного легче, что это значит? Как мне их использовать?

1 Ответ

0 голосов
/ 12 ноября 2018

Инструменты CLI более ограничены по объему, чем Leiningen - это тоже маленький инструмент, который вы можете использовать для быстрого запуска REPL. В сочетании с tools.deps.alpha его можно использовать для запуска кода и получения сторонних зависимостей. Вы можете прочитать больше об этом здесь: https://clojure.org/reference/deps_and_cli

Лейнинген может сделать все это, плюс:

  • создание артефактов развертывания (uberjars)
  • запустить сервер REPL или подключиться к работающему
  • управление смешанными проектами (например, Clojure + Java или Clojure + Clojurescript)
  • запускать произвольные задачи в вашем проекте
  • управление зависимостями
  • поддержка плагинов (линтеры, инструменты развертывания)
  • интеграция с Maven

Пример project.clj немного ошеломляет, но показывает все, что может делать Лейн.

На данный момент Lein более полезен для создания приложений и библиотек, поскольку в нем есть все функции, которые могут вам понадобиться для этого. Тем не менее, инструменты CLI + tools.deps быстро набирают обороты, и есть проекты, которые добавляют все недостающие биты от Leiningen.

...