2010-03-06 5 views
18

Comment installer un plugin leiningen?Comment installer un plugin leiningen?

Par exemple, leiningen-run? Je vois cette chose appelée "clojars.org", et comment la "pousser", mais je ne vois rien à "tirer" dessus.

Répondre

10

Si une course disponible de plug-in à Clojars, comme lein est, il suffit d'ajouter à :dev-dependencies de votre projet project.clj, puis dire lein deps dans le répertoire de votre projet pour avoir Leiningen tirer dans toutes les dépendances. Un extrait annoté de docs de run lein:

(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 

Après avoir fait ce qui précède, vous devriez être en mesure de dire lein run dans le répertoire de votre projet pour exécuter votre application.

Mise à jour: Si vous souhaitez écrire vos propres plugins pour Leiningen, consultez this tutorial on nakkaya.com. Même si vous n'avez pas l'intention d'écrire des plugins lein, vérifiez toujours ce blog, il est absolument positif.

+1

C'était l'étape "lein deps" que je négligeais tout le long. Je vous remercie! – kes

9

Selon un plugin

Avec Leiningen 2.0 et plus vous spécifiez quels plug-ins que vous voulez en tant que valeurs à :plugins dans votre carte du projet. Voir l'exemple de fichier project.clj. Notez que "sample" est un peu un abus, c'est une référence pour toutes les clés (intégrées) possibles et la documentation de leurs valeurs par défaut.

lein-run

La fonctionnalité exécuter lein-fait maintenant partie de Leiningen de base et n'a pas besoin d'être spécifié comme un plugin

clojars.org

Clojars est un dépôt de clojure bibliothèques tout à fait similaire à maven central (ou dans une moindre mesure, rubygems). Vous n'en tirez pas explicitement. Au lieu de cela, Leiningen est configuré pour rechercher un ensemble standard de repos pour votre :dependencies E.g. maven central et clojars. Maven identifie de manière unique ses dépendances (artefacts dans le langage Maven) par un triple (group-name, artifact-name, version). Leiningen utilise exactement le même mécanisme, sauf que le nom du groupe n'a pas la restriction d'être un URI inversé comme il doit l'être avec maven central. Dans la pratique, vous aurez tendance à voir de nombreuses bibliothèques publiées dans clojars où le nom correspond bien l'espace de noms clojure et github nom du projet sans les ennuyeux com.mydomain.awesomelib

Vous pouvez définir vos propres prises en pension à rechercher (ou modifier légèrement différentes options) par l'intermédiaire :repositories en vous project.clj. Vous pouvez également définir :mirrors si vous possédez un miroir interne d'un repo maven.

« Installation » un plugin non publié

Enfin, bien que je ne pense pas que ce soit directement ce que vous demandez, mais il est toujours intéressant, si vous développez un plugin ou quoi dépendre d'un plug-in qui n » t été officiellement publié, vous pouvez définir :plugin-repositories

Questions connexes