Leiningen是一個(gè)用于自動(dòng)化(構(gòu)建)clojure項(xiàng)目的工具。
它可以做到:
創(chuàng)建新項(xiàng)目
管理你的項(xiàng)目的依賴關(guān)系
運(yùn)行測(cè)試
運(yùn)行一個(gè)REPL(讀取-求值-打印循環(huán):read-eval-print loop)
編譯java源碼
運(yùn)行項(xiàng)目
為項(xiàng)目產(chǎn)生一個(gè)Maven風(fēng)格的POM文件
為了部署,編譯和打包項(xiàng)目
發(fā)布類庫(kù)到Maven倉(cāng)庫(kù),例如Clojars
運(yùn)行Clojure編寫的自定義的自動(dòng)化任務(wù)(稱為L(zhǎng)einingen插件)
... 具體可以查看國(guó)內(nèi)的大牛(killme2008)翻譯的Leiningen教程中文版的詳細(xì)介紹。
好些話說(shuō)多了點(diǎn),大家別著急啊,馬上就切入主題:
1. 下載安裝Leiningen
linux:
1. 確保你是jdk 6 版本以下的。
2. 下載腳本lein
3. 把lein加入下當(dāng)前的$path下(~/bin 是最好的選擇)
4. 賦可執(zhí)行權(quán)限(chmod 755 ~/bin/lein)
windows:
1. 可以直接下載打包好的文件,地址是:Leiningen for windows
2. 點(diǎn)擊下載好的*.exe文件進(jìn)行安裝
3. 安裝好后,可以查看環(huán)境變量中會(huì)有相應(yīng)的變量被設(shè)置好了:
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.
接下來(lái),打開(kāi)命令窗口,輸入命令:lein self-install ,會(huì)自動(dòng)下載安裝leiningen 相關(guān)的jar文件。
驗(yàn)證下安裝成果: 在命令窗口中輸入lein repl ,會(huì)自動(dòng)連上nREPL server,進(jìn)入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=>
如果出現(xiàn)上面的提示,則說(shuō)明leiningen安裝成功,你可以在使用leiningen開(kāi)發(fā)你的clojure之旅了。
但是往往我們不滿足于現(xiàn)狀,希望可以更有效的使用lein編寫clojure。類似java的idea,eclipse一樣,都對(duì)編寫java提供了強(qiáng)大的工具,那么我們可以選擇什么樣的工具呢,毫無(wú)疑問(wèn),Emacs是最合適的工具,沒(méi)有之一:)
對(duì)于我這斷斷續(xù)續(xù)學(xué)習(xí)emacs的來(lái)說(shuō),還真不是不容易,昨晚查看了相關(guān)的e文說(shuō)明,在emacs中成功裝配了nrepl ,用以后續(xù)的開(kāi)發(fā)學(xué)習(xí),便記錄一下,希望對(duì)自己以后查閱,以及需要的人有所幫助。
首先,我本地有emacs 24 版本的, 這里不想講emacs 的安裝,這個(gè)大家自個(gè)兒查詢下google便可以了。
在安裝好leiningen之后,現(xiàn)在進(jìn)入nrepl的主頁(yè)看看,這是個(gè)什么東東!
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的一個(gè)客戶端,nrepl是一個(gè)反對(duì)目前slime+swank-clojure組合的最好的替代品。
下面來(lái)看下如何安裝nrepl.el:
1. emacs 24 以及更高版本是構(gòu)建在package.el之上的,但是emacs 23以下版本的,你需要自己獲取package.el .
雖然我的是24版本的,但是我也下載了package.el,并存放在 C:\Users\linjx\AppData\Roaming\.emacs.d 目前下,這個(gè)是我的emacs在windows下的配置目錄。
2. 這里需要提一個(gè)文件,即 .emacs 文件,這個(gè)是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中打開(kāi).emacs文件,并M-x eval-buffer,執(zhí)行當(dāng)前的配置。
3. 刷新配置
- M-x package-refresh-contents 回車
emacs會(huì)自動(dòng)下載安裝Marmalade , melpa相關(guān)的配置;
4. 安裝nrepl
輸入命令
- M-x package-install 回車
- nrepl 回車
致此,nrepl集成到emacs的安裝完畢,可以使用emacs開(kāi)發(fā)你的hello world!了。
( 當(dāng)然,emacs還可以與其他集成用來(lái)clojure的開(kāi)發(fā),這里我就不詳述了,畢竟沒(méi)有使用!)
現(xiàn)在我們使用lein new 一個(gè)clojure項(xiàng)目出來(lái):
1. $ lein new hello
2. 打開(kāi)emacs,在buffer中打開(kāi) hello所在的目錄下的project.clj文件
3. 輸入命令:M-x nrepl-jack-in,即可初始化一個(gè)nrepl server 和 nrepl client
如下圖所示:


