楓中暢游

          關注技術,熱愛生活
          隨筆 - 15, 文章 - 0, 評論 - 3, 引用 - 0
          數據加載中……

          使用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模式,如下所示:

           

                

          Shell代碼  收藏代碼
          1. C:\Users\linjx>lein repl  
          2. nREPL server started on port 21912  
          3. REPL-y 0.2.0  
          4. Clojure 1.5.1  
          5.     Docs: (doc function-name-here)  
          6.           (find-doc "part-of-name-here")  
          7.   Source: (source function-name-here)  
          8.  Javadoc: (javadoc java-object-or-class-here)  
          9.     Exit: Control+D or (exit) or (quit)  
          10.   
          11. 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文件中,如下所示:

           

          Lisp代碼  收藏代碼
          1. (require 'package)  
          2. (add-to-list 'package-archives  
          3.              '("marmalade" . "http://marmalade-repo.org/packages/"))  
          4. (package-initialize)  

           

           由于使用MELPA the code ,需要添加配置到 .emacs文件中,

               

          Lisp代碼  收藏代碼
          1. (require 'package)  
          2. (add-to-list 'package-archives  
          3.              '("melpa" . "http://melpa.milkbox.net/packages/") t)  
          4. (package-initialize)  

           

            在emacs中打開.emacs文件,并M-x eval-buffer,執行當前的配置。

              

               3.  刷新配置

          Lisp代碼  收藏代碼
          1. M-x package-refresh-contents  回車  

               emacs會自動下載安裝Marmalade , melpa相關的配置;

           

               4. 安裝nrepl

                   輸入命令 

          命令代碼  收藏代碼
          1. M-x package-install 回車  
          2.        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)  編輯  收藏 所屬分類: javaclojure

          主站蜘蛛池模板: 资源县| 渭南市| 巩留县| 镶黄旗| 古交市| 年辖:市辖区| 安西县| 随州市| 阳春市| 新源县| 昌黎县| 达尔| 夏邑县| 会东县| 乐至县| 永昌县| 自贡市| 綦江县| 临颍县| 孝感市| 瑞金市| 香河县| 视频| 河池市| 榆树市| 曲水县| 东港市| 刚察县| 沂源县| 宕昌县| 滦平县| 郑州市| 伊吾县| 江油市| 手机| 化隆| 乡宁县| 九台市| 上蔡县| 盈江县| 雷波县|