EmacsでClojure開発環境構築メモ
Emacs で clojure-mode + nrepl.el によるClojure開発環境を構築したのでメモ。
背景
swank-clojureが非推奨になったようなので、nrepl.elを導入。
Deprecated
This project is no longer under active development.
New users are strongly encouraged to try out nrepl.el instead. If you need an advanced debugger, Ritz might be a better fit.
導入
下記の「Installation」に沿って導入。
以下に具体的な手順を記載する。
package.el ver.0.9 の導入
(Emacs 24以降であればビルトインらしいが、私のLispbox環境はGNU Emacs 23.2.1のため、導入が必要)
(ちなみに、nrepl.elの要件は GNU Emacs 23.2+ or 24 なので、私の環境は満たしている)
取得元:https://github.com/technomancy/package.elからhttp://bit.ly/pkg-el23
格納先:lispbox-0.7/emacs-23.2/lisp 配下
.emacsに以下を追記
(require 'package)
Emacs Lispリポジトリ(Marmalade、MELPA)の登録
.emacsに以下を追記
(add-to-list 'package-archives '("marmalade" . "http://marmalade-repo.org/packages/")) (add-to-list 'package-archives '("melpa" . "http://melpa.milkbox.net/packages/") t) (package-initialize)
clojure-modeの導入
.emacsに以下を追記
(unless (package-installed-p 'clojure-mode) (package-refresh-contents) (package-install 'clojure-mode))
動作確認
clojure-mode
- M-x run-lisp シンプルなREPLサブプロセスを起動(Leiningen利用)
- C-c C-r 選択領域を上記REPLで評価
- C-c C-l ファイル全体を上記REPLで評価
nrepl
- M-x nrepl-jack-in nREPL-Server と Client を起動し、Client から Server へ接続(Leiningenで生成したプロジェクトのcljファイルを開いた状態で実施する)(キーボードショートカットは C-c M-j )
- C-u M-x nrepl-jack-in 上と同様だが、対象プロジェクトを選択できる
- M-x nrepl 既に起動している nREPL-Server に接続する
補足:nREPLサーバをClojureアプリケーションに組み込む
project.cljに追記
[org.clojure/tools.nrepl "0.2.3"]
アプリケーションに追記
(use '[clojure.tools.nrepl.server :only (start-server stop-server)]) (defonce server (start-server :port 7888))