2010-03-06 5 views
18

Wie installiere ich ein Leiningen Plugin?Wie installiere ich ein Leiningen Plugin?

Zum Beispiel, Leiningen-Lauf?

Ich sehe dieses Ding namens "clojars.org", und wie man es "pusht", aber ich sehe nichts davon, davon zu "ziehen".

Antwort

10

Wenn ein Plugin bei Clojars verfügbar ist, wie lein Lauf ist, fügen Sie ihn einfach auf Ihre :dev-dependencies in project.clj Projekt, dann sagen lein deps im Verzeichnis Ihres Projekts in allen Abhängigkeiten Leiningen ziehen zu haben. Ein kommentierte Auszug aus lein Laufe der docs:

(defproject island-wari "0.1" 
    :description "Web application for playing the Island Wari game." 
    :main wari 
    :dependencies  [[org.clojure/clojure "1.1.0-master-SNAPSHOT"] 
        [org.clojure/clojure-contrib "1.1.0-master-SNAPSHOT"] 
        [org.clojars.liebke/compojure "0.3.1-master"]] 
    :dev-dependencies [[org.clojure/swank-clojure "1.0"] 
        [leiningen-run "0.2"]]) ; <--- this bit makes it possible 
              ;  to use lein run 

die oben getan hat, sollten Sie in der Lage sein, zu sagen lein run im Verzeichnis Ihres Projektes Ihre Anwendung auszuführen.

Update: Wenn Sie Ihre eigenen Plugins für Leiningen schreiben möchten, gehen Sie auf this tutorial on nakkaya.com. Selbst wenn du nicht vorhast, lein plugins zu schreiben, dann schau dir diesen Blog an, es rockt absolut positiv.

+1

Es war der "lein deps" Schritt, den ich die ganze Zeit vernachlässigte. Vielen Dank! – kes

9

In Abhängigkeit von einem Plugin

Mit Leiningen 2.0 und höher festgelegt, welche Plugins Sie als Werte :plugins in Ihrem Projekt Karte. Sehen Sie sich die Beispieldatei project.clj an. Beachten Sie, dass "Beispiel" ein bisschen falsch ist, es ist eine Referenz für alle möglichen (eingebauten) Schlüssel und Dokumentation ihrer Standardwerte.

lein-run

Die lein geführte Funktionalität nun Teil des Kern Leiningen ist und muss nicht als Plugin

clojars.org

Clojars angegeben werden ist ein Repository von clojure Bibliotheken, die maven central ziemlich ähnlich sind (oder in etwas geringerem Maße Rubygems). Sie ziehen nicht explizit davon ab. Stattdessen ist Leiningen so konfiguriert, dass es einen Standardsatz von Repos für Ihre :dependencies z. Maven Central und Clojars. Maven identifiziert seine Abhängigkeiten (Artefakte im Maven-Sprachgebrauch) eindeutig durch ein Tripel (group-name, artifact-name, version). Leiningen nutzt den exakt gleichen Mechanismus mit der Ausnahme, dass der Gruppenname nicht die Einschränkung hat, eine umgekehrte URI zu sein, so wie es bei maven central sein muss. In der Praxis werden Sie viele Bibliotheken sind in der Regel in clojars veröffentlicht zu sehen, wo schön der Name des clojure Namespace und Github Projektnamen übereinstimmt, ohne die lästigen com.mydomain.awesomelib

Sie können Ihre eigenen repos setzen gesucht werden (oder zwicken verschiedene Optionen) über :repositories in dir project.clj. Sie können :mirrors in ähnlicher Weise einstellen, wenn Sie einen internen Spiegel eines Maven Repos haben.

„Installation“ eine nicht veröffentlichte Plugin

Schließlich, obwohl ich direkt das ist nicht wahr, was Sie fragen, aber es ist immer noch interessant, wenn Sie ein Plugin entwickelst oder was für ein Plugin ab, die ‚hasn t offiziell veröffentlicht wurden, können Sie setzen :plugin-repositories