Easy set up for Clojure.
- Linux (tested on Ubuntu 9.10)
- Mac OS X 10.5+
- Windows (Cygwin)
Set Up Instructions
$ git clone git://github.com/citizen428/ClojureX.git clojure $ cd clojure
Grab all packages (clojure, clojure-contrib, jline and TextMate/Emacs support):
$ git submodule init $ git submodule update
Build the packages:
To create a symlink for the
clj script in
/usr/local/bin you can run the following command:
If you prefer to create the link somewhere else, you can do it manually like this:
$ ln -s <full path to this project>/clj <destination path>/clj
To setup support for TextMate, run the following command which creates a symlink to the bundle in
If you prefer Emacs for Clojure development the following command will add the necessary configuration for clojure-mode, slime and swank-clojure to your
clj script expects
$JAVA_HOME in its environment.
$JAVA_HOME is not set, it will attempt to determine it for you.
Currently, automatic detection works on Mac OS X 10.5+ only.
If for some reason you cannot provide
$JAVA_HOME, you can set the
$JAVA variable on line 7 of the
clj command can be used to open an interactive session:
$ clj Clojure user=>
It can be used to run a script:
$ clj test.clj Hello, Clojure!
or it can be used to make a script file executable by starting your file with this line:
then chmod u+x your file and run it.
You can also open a debug port like this:
# clj -d 1234 test.clj
To add extra jar files to Clojure's classpath on a project-by-prject basis, just create a
.clojure file in the project's directory. Here's an example:
If your project direectory is
~/code/clojure/cafe, you can add the Grinder and Frother jars from the
~/code/clojure/cafe/lib directory by putting their relative paths, separated by a colon, into the
$ cd ~/code/clojure/cafe $ echo "lib/grinder.jar:lib/frother.jar" > .clojure
Staying up to date
Once you have a local checkout of ClojureX, it's easy to keep your Clojure installation up to date:
$ cd clojure $ cd <submodule you want to update> $ git pull origin master
To update the source for all submodules at the same time, you can issue the following command:
If there were any updates to clojure, clojure-contrib or jline you will have to rebuild them like this:
- Add scripts to work with Clojure projects after installation