Skip to content

Install Clojureλ︎

Clojure CLI provides the foundation for Clojure development, providing a declarative approach to:

  • Run Clojure programs and tools
  • Run a REPL process (Read-Eval-Print Loop) and provides a basic interactive terminal UI
  • Manage packaged dependencies from Maven (jars) and use Git repositories as dependencies

Practicalli Clojure Config community tools

Practicalli Clojure CLI Config is a user configuration providing aliases for a wide range of community tools which extends the features of Clojure CLI. The aliases include tools to create, develop, build and deploy Clojure code. Aliases are used heavily in the Practicalli books.

If the Practicalli Clojure CLI config is not used, review the deps.edn file from the GitHub repository and add relevant aliases definitions to your own Clojure CLI configuration.


A Java Virtual Machine hosts Clojure. Java 21 is the current Long Term Support version providing a stable platform to run Clojure

Additional toolsλ︎

Clojure connected editor

A Clojure connected editor provides the most effective way to write and maintain Clojure projects. The editor connects to (or starts) a Clojure REPL and code can be evaluated as its typed, showing the results instantly in line with the code.

Clojure LSP server generates static analysis of code which editors can surface as code diagnostics. Analysis supports effective code navigate and refactor tools. Practicalli Clojure LSP config configures

Data Inspectors

Data inspectors visualize results of Clojure code evaluation and allow navigation of nested data or paging through large data sets.

Portal is highly recommended data inspector and included in projects generated with Practicalli Project Templates.

Alternative development tools

Leiningen is the long-standing development tool for Clojure. All the code examples in this book should work with Leiningen when a correctly configured project.clj file is created which includes all the necessary library dependencies. Libraries included via aliases should be added as either :dev-dependencies or :aliases in the Leiningen project.clj file.