Como instalar um leiningen plugin?
Pergunta
Como faço para instalar um leiningen plugin?
Por exemplo, leiningen executar?
Eu vejo essa coisa chamada "clojars.org" e como a "empurrar" para ele, mas eu não vejo nada de "puxar" a partir dele.
Solução
Se um plugin estiver disponível no Clojars, como Lein Run for, basta adicioná -lo ao seu projeto :dev-dependencies
em Project.clj, então dizer lein deps
No diretório do seu projeto, terá o Leiningen Pull em todas as dependências. Um trecho anotado dos documentos de Lein Run:
(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
Tendo feito o acima, você deve ser capaz de dizer lein run
no diretório do seu projeto para executar seu aplicativo.
ATUALIZAÇÃO: Se você deseja escrever seus próprios plugins para Leiningen, confira Este tutorial em Nakkaya.com. Mesmo que você não esteja planejando escrever plugins de Lein, ainda confira esse blog, ele é absolutamente positivamente arrasado.
Outras dicas
Dependendo do plugin
Com Leiningen 2.0 e maior especificar quais os plugins que você quer como valores para :plugins
em seu projeto de mapa.Veja o exemplo projeto.clj arquivo.Note que o "exemplo" é um pouco de um equívoco, é uma referência para todos os possíveis (interno) teclas e documentação de seus padrões.
lein-executar
A lein-executar a funcionalidade é agora parte do núcleo de leiningen e não precisa ser especificado como um plugin
clojars.org
Clojars é um repositório de clojure bibliotecas bastante semelhante ao maven central (ou para alguns, em menor medida, nmdiz).Você não puxe a partir explicitamente.Em vez disso, Leiningen está configurado para pesquisar através de um conjunto padrão de acordos de recompra para o seu :dependencies
E. g.o maven central e clojars.O Maven identifica suas dependências (artefatos maven linguagem) por um triplo (group-name, artifact-name, version)
.Leiningen aproveita o exato mesmo mecanismo com a exceção de que o nome do grupo não tem a restrição de ser o inverso de um URI assim que deve ser com o maven central.Na prática, você vai tendem a ver muitas bibliotecas publicado em clojars onde o nome do bem coincide com o clojure espaço de nomes e o github do projeto nome sem a irritante com.mydomain.awesomelib
Você pode definir seus próprios acordos de recompra a ser procurado (ou ajustar várias opções) através de :repositories
em você projeto.clj.Você pode igualmente definir :mirrors
se você tem uma casa de espelhos de um repositório maven.
"Instalar" um inédito plugin
Finalmente, embora eu não acho que isso está diretamente o que você estava perguntando, mas ainda é interessante, Se você estiver desenvolvendo um plugin ou que dependem de um plugin que ainda não foi oficialmente publicada, você pode definir :plugin-repositories