Edited at

SDKMANでLeiningenをインストールする

More than 1 year has passed since last update.

 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"