3 ms·
clojure package management is built on top of maven typically. There are two main approaches here: 1. Use Maven as Maven with https://github.com/talios/clojure
by brehaut 16y ago
clojure package management is built on top of maven typically. There are two main approaches here:
1. Use Maven as Maven with https://github.com/talios/clojure-maven-plugin https://github.com/talios/clojure-maven-plugin - My impression is that this option is often more popular with people coming to clojure from java, as you get the full XML and maven experience.
2. Use Leiningen https://github.com/technomancy/leiningen https://github.com/technomancy/leiningen – this is a project and dependancy management / built system built in clojure on top of Maven's libs. You have a single (and simple - no XML) project.clj file that describes your project. My impression here is that lein is popular with people coming to clojure from non-JVM land. Being a former pythonista, this is my preference.
There is also a default maven repo that i believe both work with hosted at http://clojars.org http://clojars.org.
In both cases maven handles dependency resolution and package management. My experience is that a global install of jars is not common like it is in python or ruby land.
The other tool that you will want to look at is https://github.com/liebke/cljr https://github.com/liebke/cljr which is a repl built ontop of lein's package management commands. This is useful because it lets you run a repl without a project (lein requires a project) but still gives you control over what libraries are available. If you are using incanter (the stats package mentioned by Estragon) you will want cljr
- djacobs 16y agoI'm using Leiningen at the moment, but I don't like importing my dependencies into my project folder. That's why I said "centralized package management". Is there a way to store all your dependencies in a central non-project-specific folder? I'll have to check out cljr.