使用leiningen搭建clojure開發環境
首先來講下Leiningen是什么東東?
Leiningen是一個用于自動化(構建)clojure項目的工具。
它可以做到:
創建新項目
管理你的項目的依賴關系
運行測試
運行一個REPL(讀取-求值-打印循環:read-eval-print loop)
編譯java源碼
運行項目
為項目產生一個Maven風格的POM文件
為了部署,編譯和打包項目
發布類庫到Maven倉庫,例如Clojars
運行Clojure編寫的自定義的自動化任務(稱為Leiningen插件)
... 具體可以查看國內的大牛(killme2008)翻譯的Leiningen教程中文版的詳細介紹。
好些話說多了點,大家別著急啊,馬上就切入主題:
1. 下載安裝Leiningen
linux:
1. 確保你是jdk 6 版本以下的。
2. 下載腳本lein
3. 把lein加入下當前的$path下(~/bin 是最好的選擇)
4. 賦可執行權限(chmod 755 ~/bin/lein)
windows:
1. 可以直接下載打包好的文件,地址是:Leiningen for windows
2. 點擊下載好的*.exe文件進行安裝
3. 安裝好后,可以查看環境變量中會有相應的變量被設置好了:
lein.bat is added to your PATH variable.
LEIN_JAVA_CMD is set to point to your selected JDK, and the :java-cmd property is set in your user profile in profiles.clj.
接下來,打開命令窗口,輸入命令:lein self-install ,會自動下載安裝leiningen 相關的jar文件。
驗證下安裝成果: 在命令窗口中輸入lein repl ,會自動連上nREPL server,進入repl模式,如下所示:
- C:\Users\linjx>lein repl
- nREPL server started on port 21912
- REPL-y 0.2.0
- Clojure 1.5.1
- Docs: (doc function-name-here)
- (find-doc "part-of-name-here")
- Source: (source function-name-here)
- Javadoc: (javadoc java-object-or-class-here)
- Exit: Control+D or (exit) or (quit)
- user=>
如果出現上面的提示,則說明leiningen安裝成功,你可以在使用leiningen開發你的clojure之旅了。
但是往往我們不滿足于現狀,希望可以更有效的使用lein編寫clojure。類似java的idea,eclipse一樣,都對編寫java提供了強大的工具,那么我們可以選擇什么樣的工具呢,毫無疑問,Emacs是最合適的工具,沒有之一:)
對于我這斷斷續續學習emacs的來說,還真不是不容易,昨晚查看了相關的e文說明,在emacs中成功裝配了nrepl ,用以后續的開發學習,便記錄一下,希望對自己以后查閱,以及需要的人有所幫助。
首先,我本地有emacs 24 版本的, 這里不想講emacs 的安裝,這個大家自個兒查詢下google便可以了。
在安裝好leiningen之后,現在進入nrepl的主頁看看,這是個什么東東!
nrepl.el is an Emacs client for nREPL,the Clojre networked REPL server.It's a great alternative to the now deprecated combination fo SLIME + swank-clojure.
nrepl.el是emacs作為nrepl的一個客戶端,nrepl是一個反對目前slime+swank-clojure組合的最好的替代品。
下面來看下如何安裝nrepl.el:
1. emacs 24 以及更高版本是構建在package.el之上的,但是emacs 23以下版本的,你需要自己獲取package.el .
雖然我的是24版本的,但是我也下載了package.el,并存放在 C:\Users\linjx\AppData\Roaming\.emacs.d 目前下,這個是我的emacs在windows下的配置目錄。
2. 這里需要提一個文件,即 .emacs 文件,這個是emacs初始化配置的文件,位于C:\Users\linjx\AppData\Roaming 目錄下。
如果你不需要使用Marmalade,則添加配置 到 .emacs文件中,如下所示:
- (require 'package)
- (add-to-list 'package-archives
- '("marmalade" . "http://marmalade-repo.org/packages/"))
- (package-initialize)
由于使用MELPA the code ,需要添加配置到 .emacs文件中,
- (require 'package)
- (add-to-list 'package-archives
- '("melpa" . "http://melpa.milkbox.net/packages/") t)
- (package-initialize)
在emacs中打開.emacs文件,并M-x eval-buffer,執行當前的配置。
3. 刷新配置
- M-x package-refresh-contents 回車
emacs會自動下載安裝Marmalade , melpa相關的配置;
4. 安裝nrepl
輸入命令
- M-x package-install 回車
- nrepl 回車
致此,nrepl集成到emacs的安裝完畢,可以使用emacs開發你的hello world!了。
( 當然,emacs還可以與其他集成用來clojure的開發,這里我就不詳述了,畢竟沒有使用!)
現在我們使用lein new 一個clojure項目出來:
1. $ lein new hello
2. 打開emacs,在buffer中打開 hello所在的目錄下的project.clj文件
3. 輸入命令:M-x nrepl-jack-in,即可初始化一個nrepl server 和 nrepl client
如下圖所示:
posted on 2013-07-03 13:40 javalinjx 閱讀(8284) 評論(0) 編輯 收藏 所屬分類: java 、clojure