2012-10-15 73 views
7

這是一個noob問題,所以如果我冒犯了某人,我很抱歉。如何在Clojure項目中安裝依賴關係

但我怎麼* nix的計算機上安裝蹺蹺板? 是的,我已閱讀README.MD文件,但project.clj如何知道在哪裏可以找到庫jar(例如用於蹺蹺板)?

回答

12

編輯project.clj並添加依賴關係(的項目識別信息和版本向量)到:在project.clj依賴矢量。

依賴聲明如下所示:[seesaw "1.4.2"]您可以通過在http://clojars.org上搜索蹺蹺板來查找。

項目文件應至少看起來是這樣的:


(defproject my-awesome-gui-application "0.1.0-SNAPSHOT" 
    :description "FIXME: write description" 
    :dependencies [[org.clojure/clojure "1.4.0"] 
       [seesaw "1.4.2"]]) 

如果您正在使用leiningen的新版本,你可以鍵入lein deps :tree看到你的依賴關係樹。換句話說,你可以看到什麼庫實際上正在使用,即。你宣佈的那些和他們的傳遞依賴。


$ lein deps :tree 
[org.clojure/clojure "1.4.0"] 
[seesaw "1.4.2"] 
    [com.jgoodies/forms "1.2.1"] 
    [com.miglayout/miglayout "3.7.4"] 
    [j18n "1.0.1"] 
    [org.fife.ui/rsyntaxtextarea "2.0.3"] 
    [org.swinglabs.swingx/swingx-core "1.6.3"] 
    [org.swinglabs.swingx/swingx-action "1.6.3"] 
    [org.swinglabs.swingx/swingx-autocomplete "1.6.3"] 
     [org.swinglabs.swingx/swingx-common "1.6.3"] 
    [org.swinglabs.swingx/swingx-painters "1.6.3"] 
    [org.swinglabs.swingx/swingx-plaf "1.6.3"] 

如果您使用的是舊版本leiningen的,類型爲「雷音DEPS」,並期待在./libs看什麼罐子取了(雷音的新版本更聰明,在〜/ .m2目錄使用的罐子而不是將它們複製到你的項目中目錄〜/ .m2是你本地Maven倉庫的位置Leiningen處理Maven並下載你指定的所有依賴項,這樣你就不必直接擔心Maven。 )

我提到Maven和在〜/ .m2目錄下你的本地倉庫。幸運的是,你可能永遠都不必考慮Maven(除了瀏覽maven central以查找Java庫以保存在你的project.clj中),但是有時候你可能會懷疑某個jar損壞了,那種效果,並且知道你可以通過刪除你的.m2版本庫來消除該狀態是很好的。

6

project.clj文件指定leiningen項目配置。

Leiningen下載並安裝依賴指定了project.clj文件,啓動項目/運行REPL過程/編譯項目到Java JAR /不管。請參閱上面的鏈接。簡而言之,leiningen是您的基本操作系統和基本的基於java的clojure運行時/編譯器之間最流行的粘合劑。

通常情況下,你不應該有安裝任何的Clojure庫(甚至Clojure的)。除了當你需要額外的庫來開發/調試當前的項目(通常你不需要)時,你只需安裝leiningen,並且leiningen會爲你想運行的項目安裝依賴項。

更具體地說:leiningen通過委託maven獲得它的下載位置/安裝說明,這是一個非常有趣的項目項目。但如果你的時間很珍貴,可能不值得仔細觀察。

+0

我喜歡這個解釋。它澄清了我對萊寧寧的許多疑問。 – Zchpyvr