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.
"Pre-requisites"λ︎
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.