LoginSignup
18
17

More than 5 years have passed since last update.

WindowsでClojure環境構築した

Posted at

JDKのインストール

Javaが必要なのでJDKをインストールする必要がある。

注意点

ここで、デフォルトのProgram Filesにインストールしてしまうと
パスの処理がうまくできなくてritz-replが起動できなくなるので
C:\Javaなどにインストールする。

Clojure(leiningen)のインストール

leiningenをインストールすればOK
https://github.com/technomancy/leiningen

Windowsだとleiningen.batにしておけばOK
自分の場合はcygwinでも使えるように通常のシェルスクリプトの方も
インストールしておいた。

Mavenのインストール

nreplでmavenが必要なのでインストールしておく
http://maven.apache.org/

環境変数の設定

設定する環境変数 設定値
JAVA_HOME JDKインストールディレクトリ
MAVEN_HOME MAVENインストールディレクトリ
PATH (JDKインストールディレクトリ)/binを追加
PATH (MAVAインストールディレクトリ)/binを追加
PATH (leiningenインストールディレクトリ)を追加
CLASSPATH (JDKインストールディレクトリ)/lib/tools.jar
(JDKインストールディレクトリ)/lib/sa-jdi.jar
.

nrepl + ritz-nreplのインストール

EmacsからM-x list-packagesで以下のパッケージをインストールする

  • nrepl
  • cojure-mode
  • ritz-nrepl

設定を.emacs.d/init.elに追記する

init.el
(require 'nrepl)
(require 'ac-nrepl)

(add-hook 'nrepl-mode-hook 'ac-nrepl-setup)
(add-hook 'clojure-nrepl-mode-hook 'ac-nrepl-setup)

(eval-after-load "auto-complete"
  '(add-to-list 'ac-modes 'nrepl-mode))

(defun set-auto-complete-as-completion-at-point-function ()
  (setq completion-at-point-functions '(auto-complete)))
(add-hook 'auto-complete-mode-hook 
  'set-auto-complete-as-completion-at-point-function)
(add-hook 'nrepl-mode-hook 'set-auto-complete-as-completion-at-point-function)
(add-hook 'nrepl-interaction-mode-hook 
  'set-auto-complete-as-completion-at-point-function)
(add-hook 'nrepl-interaction-mode-hook 'my-nrepl-mode-setup)
(defun my-nrepl-mode-setup ()
  (require 'nrepl-ritz))

leiningenにも設定追加が必要なので

~/.lein/profile.clj
{:user
 {:plugins [[lein-ritz "0.7.0"]]
  :dependencies [[ritz/ritz-nrepl-middleware "0.7.0"]]
  :repl-options {:nrepl-middleware
                 [ritz.nrepl.middleware.javadoc/wrap-javadoc
                  ritz.nrepl.middleware.simple-complete/wrap-simple-complete]}}}

以上で設定は完了。

動作確認


lein new helloworld

として簡単なプロジェクトを作成してEmacsでhelloworld以下の適当なcljファイル(project.cljとか)を開く。

M-x nrepl-ritz-jack-in

でritz-nreplが立ち上がる。

18
17
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
18
17