最近ローカルの開発環境をEmacsからSublime Text 2に乗り換えたので,長い間.emacsに溜め込んだ環境をSublime Text 2でも再現するために,ちまちまと移行作業をしている.Sublime Text 2の強みというのはPythonで拡張パッケージが書ける上にパッケージ管理が非常に簡単というところにあると思っていて,とりあえずデフォルトの環境をなんとかしたいと思えばパッケージを探せば何とかなる.
ということで,今回はEmacsで構築していたClojureの開発環境を,SublimeREPLパッケージを使ってSublime Text 2で再現してみる.Emacsではswank-clojureとslime-replで書いたコードを逐次実行できる環境を作っていたが,今回もSublime Text 2内でClojureを動かして,エディタ内でコードの編集と実行を両立できるようにする.なお,今回の環境構築ではClojureやLeiningenのインストールはひと通り終えているものとする.
ちなみに,私の過去のEmacs&Clojure環境は以下のblogにまとめてある.
1. Package Controlをインストールする
これについては他のサイトでもよく解説されていることなので,簡単に紹介とインストール方法だけ.Sublime Text 2ではSublime Package Controlというパッケージ管理が定番となっていて,Sublime Text 2内のコマンドから検索・インストール・最新バージョンへの更新などを簡単に行うことができる.
まず,Sublime Text 2のコンソールに以下のコマンドを入力(コピペ)する.
1
|
|
インストールが終了したら,Sublime Text 2を再起動する.メニューバーの”Tools”からCommand Paletteを開いて「package」と入力して,以下のようにPackage Controlのコマンドが表示されればOK.これでパッケージのインストールが簡単に行えるようになる.
2. SublimeREPLをインストールする
次に,Clojureをエディタ内で動かすためにSublimeREPLというパッケージをインストールする.ちなみにこのパッケージはClojure専用というわけではないので,RubyやPython,Rなどの他の言語のREPLの機能も兼ね備えている.
まず,先ほどの確認のときのようにCommand Paletteを開いて「install」と入力し,「Package Control: Install Package」を選択する.
すると,登録されているパッケージ一覧が表示されるので,「SublimeREPL」と入力してパッケージを選択してインストールを行う.
これで,SublimeREPLパッケージのインストールは完了.メニューバーのToolsにSublimeREPLという項目が表示されればOK.
3. SublimeREPLの環境設定にLeiningenのPATHを追記する
最後に,SublimeREPLの環境設定を行う.具体的にはLeiningenがインストールされているディレクトリにPATHを通すのだが,これをしないと「OSError(2, ‘No such file or directory’)」といったエラーが表示されるので注意.
今回の場合は,パッケージ内の設定ファイルに直接追記することにする.まず,SublimeREPLのパッケージのディレクトリ内にあるClojureのMain.sublime-menuというファイルを開く.これには,Sublime Text 2の”Preference”→”Browse Packages…”でFinderを表示してディレクトリを辿っても良いが,今回はTerminal.appで以下のコマンドを入力する.
1
|
|
そして,Finderで表示された中にあるMain.sublime-menuをエディタで読み込み,29行目のextend_envの行にLeiningenがあるディレクトリのPATHを入力する.今回はMacPortsで入れたLeiningenを使用するために,/opt/local/binを指定する.
1
|
|
と書かれている行の末尾に「”PATH”: “{PATH}:/opt/local/bin/”」を追記する.
1
|
|
4. SublimeREPLの起動
メニューバーの”Tools”から”SublimeREPL”→”Clojure”→”Clojure”を選択して,以下のようにREPLが起動すれば,無事にSublimeREPLの環境設定は終了.
環境
- OS
- Mac OS X 10.8.2
- Sublime Text 2
- Version 2.0.1, Build 2217
- Leiningen
- Leiningen 1.6.1.1
参考
- Sublime Package Control – a Sublime Text 2 Package Manager by wbond
- SublimeREPL — SublimeREPL 1.0.30 documentation
- Opening clojure REPL fails / Fix PATH problems · Issue #11 · wuub/SublimeREPL
- Getting Started With Sublime Text 2 - Clojure Documentation - Clojure Development
- Setting Up Clojure on OS X — Gist