Есть ли в Лейнингене эквивалент `clj -m` - PullRequest
3 голосов
/ 29 июня 2019

Есть ли в Leiningen эквивалент этой clj команды:

clj -m project.core

Похоже, если я использую Leiningen, мне нужно создать project.clj, прежде чем я смогу запустить его с

lein run -m project.core

Можно ли запустить его без создания project.clj?

* Пример проекта, в котором нет файла project.clj: https://github.com/mogenslund/microliquid

Ответы [ 2 ]

0 голосов
/ 01 июля 2019

Лейнингену требуется project.clj файл.Вы должны указать пространство имен, содержащее функцию -main, используя клавишу :main.Затем вы можете использовать lein run, чтобы запустить приложение.Полный project.clj должен выглядеть следующим образом:

(defproject foo "0.1.0-SNAPSHOT"
  :dependencies [[org.clojure/clojure "1.10.0"]]
  :main microliquid.core)
0 голосов
/ 30 июня 2019

Это не представляется возможным.Я пробовал запускать такие команды, как

lein run -m test/-main

И я получаю ошибки, которые предполагают, что он не может найти основной .Просматривая lein help, почти все, включая такие вещи, как lein clean, выдают ошибки, если project.clj не найден.

В руководстве для leiningen есть фрагмент:

Лейнинген работает с проектами .Проект - это каталог, содержащий группу исходных файлов Clojure (и, возможно, Java), вместе с небольшим количеством метаданных о них.Метаданные хранятся в файле с именем project.clj в корневом каталоге проекта , что позволяет Leiningen рассказывать о таких вещах, как

...

Большинство задач Leiningenимеет смысл только в контексте проекта .Некоторые из них (например, repl или help) также можно вызывать из любого каталога.

Упор мой.

Кажется, что leiningen ориентирован на проект и ожидает, что метаданные будутв project.clj для работы.

...