sbtやGradle、Mavenと同じようにLeiningenのインストールがSDKMANからもできるようになっていました。SDKMANを使うとJVM言語はまとめてバージョン管理できるので便利です。
Debian JessieにOracle JDK 8をインストール
ClojureはJava 8で動作するといろいろと便利ですが、Debian JessieにJava 8をセットアップするのは一手間です。Ubuntu PreciseのPPAを使えば簡単なのですが何か気持ち悪いのでmake-jpkgしてdebパッケージを作ります。
まず依存するパッケージをインストールします。
$ sudo apt-get update
$ sudo apt-get install -y libgl1-mesa-glx libxslt1.1 libxtst6 libxxf86vm1 libgtk2.0-0
Oracle JDKはここからダウンロードします。今回はCUI環境を使っているのでwgetで省略します。
$ wget --no-check-certificate --no-cookies \
--header "Cookie: oraclelicense=accept-securebackup-cookie" \
http://download.oracle.com/otn-pub/java/jdk/8u111-b14/jdk-8u111-linux-x64.tar.gz
ダウンロードしたtarballはmake-jpkgコマンドを使いdebパッケージを作成します。
$ make-jpkg jdk-8u111-linux-x64.tar.gz
...
The Debian package has been created in the current directory.
You can install the package as root with:
dpkg -i oracle-java8-jdk_8u111_amd64.deb
Removing temporary directory: done
説明通りにdebパッケージをインストールします。
$ sudo dpkg -i oracle-java8-jdk_8u111_amd64.deb
ログにも出ていますがupdate-alternativesも実行されているのでOracle Java 8がすぐに使える状態になっています。
$ java -version
java version "1.8.0_111"
Java(TM) SE Runtime Environment (build 1.8.0_111-b14)
Java HotSpot(TM) 64-Bit Server VM (build 25.111-b14, mixed mode)
環境変数JAVA_HOMEを設定してOracle JDK 8のインストールは終了です。
$ echo 'export JAVA_HOME=/usr/lib/jvm/jdk-8-oracle-x64' >> ~/.bashrc
$ source ~/.bashrc
SDKMANのインストール
JDKがインストールされていればSDKMANのインストールはワンライナーで簡単です。
$ curl -s get.sdkman.io | /bin/bash
すでにSDKMANをインストールしている場合はselfupdateして最新にしてください。2016年9月以降にLeiningenをサポートしたようです。
$ sdk selfupdate
$ sdk version
==== BROADCAST =================================================================
* 23/11/16: Gradle 3.2.1 released on SDKMAN! #gradle
* 22/11/16: Ceylon 1.3.1 released on SDKMAN! #ceylonlang
* 15/11/16: Kotlin 1.0.5-2 released on SDKMAN! #kotlin
================================================================================
SDKMAN 5.1.7+91
Leiningenのインストール
SDKMANを使ってLeiningenをインストールします。2016-11-30の時点で2.7.1がインストールされます。
$ sdk install leiningen
...
Setting leiningen 2.7.1 as default.
Clojureのバージョンは1.8.0です。
$ lein repl
...
user=> (clojure-version)
"1.8.0"