2012-10-15 15 views
7

To jest pytanie typu "noob", więc przepraszam, jeśli kogoś urażę.Jak zainstalować zależność w projekcie Clojure

Ale jak zainstalować huśtawkę na komputerze * nix? Tak, przeczytałem plik README.MD, ale jak projekt.clj wie, gdzie znaleźć słoiki biblioteki (na przykład na huśtawce)?

Odpowiedz

12

Edytuj plik project.clj i dodaj zależność (wektor informacji i wersji identyfikującej projekt) do wektora zależności: w pliku project.clj.

Deklaracja zależności wygląda następująco: [seesaw "1.4.2"] Wyszukiwarkę zależności można znaleźć, szukając huśtawki na http://clojars.org.

Plik projekt powinien w minimalnym wyglądać:


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

Jeśli używasz nowszej wersji Leiningen można wpisać lein deps :tree zobaczyć drzewa zależności. Innymi słowy możesz zobaczyć, jakie biblioteki są faktycznie używane, tj. te, które zadeklarowałeś i ich przejściowe zależności.


$ 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"] 

Jeśli używasz starszej wersji Leiningen wpisz „deps Lein” i patrzeć w ./libs zobaczyć co słoiki dostał naciągane (nowsze wersje Lein są mądrzejsze i wykorzystywać słoiki w ~/.m2 bezpośrednio, zamiast kopiować je do projektu, katalog ~/.m2 jest lokalizacją lokalnego repozytorium Maven Leiningen zajmuje się Maven i pobiera wszystkie określone przez ciebie zależności, abyś nie musiał się martwić bezpośrednio o Mavena.)

Wspomniałem o Maven i lokalnym repozytorium maven w ~/.m2. Przy odrobinie szczęścia może w ogóle nie będziesz musiał myśleć o Mavenie (chyba, że ​​przeglądasz maven central, aby wyszukać biblioteki Java, które mają pozostać w twoim projekcie.clj), ale są chwile, kiedy możesz podejrzewać, że słoik jest uszkodzony lub coś w tym stylu. ten efekt i dobrze jest wiedzieć, że możesz po prostu zdmuchnąć ten stan, usuwając swoje repozytorium .m2.

6

pliki project.clj określają konfigurację projektu dla leiningen.

Leiningen pobiera i instaluje zależności określone w pliku project.clj i uruchamia projekt/uruchamia proces replikacji/kompiluje projekt do słoika Java/cokolwiek. Zobacz powyższy link. W skrócie, leiningen jest najpopularniejszym klejem pomiędzy podstawowym systemem operacyjnym a podstawowym środowiskiem wykonawczym/kompilatorem clojure.

Zazwyczaj nie powinieneś instalować żadnych bibliotek clojure (lub nawet clojure). Z wyjątkiem sytuacji, gdy potrzebujesz dodatkowych bibliotek do opracowania/debugowania bieżącego projektu (i często tego nie robisz), po prostu zainstaluj leiningen, a leiningen zainstaluje zależności dla projektu, który chcesz uruchomić.

Aby być bardziej szczegółowym: Leiningen pobiera swoje lokalizacje pobierania/instrukcje instalacji, delegując na maven, co jest bardzo interesującym projektem . Ale być może nie warto się zbytnio zaglądać, jeśli twój czas jest cenny.

+0

Podoba mi się to wyjaśnienie. Wyjaśniło to wiele wątpliwości, które miałem o leiningen. – Zchpyvr

Powiązane problemy