如何安装Leiningen插件?

19

我怎样安装 Leiningen 插件?

比如说,leiningen-run插件?

我看到了一个叫做 "clojars.org" 的东西,以及如何向其中 "push",但我没有看到任何关于如何从中 "pull" 的信息。

2个回答

11

如果 Clojars 上有一个插件,比如 lein run,只需将其添加到项目.clj的:dev-dependencies中,然后在项目目录中运行lein deps,让 Leiningen 拉取所有依赖项。以下是 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

完成上述步骤后,您应该能够在项目目录中输入lein run来运行您的应用程序。

更新:如果您想为Leiningen编写自己的插件,请查看nakkaya.com上的此教程。即使您不打算编写lein插件,也请查看该博客,它绝对非常棒。


1
一直以来我都忽略了"lein deps"这一步骤。谢谢! - kes
2022年了,我使用以下语法声明了一个Leiningen插件::plugins [[lein-search "0.3.4"]] - Francois

11

使用插件

从Leiningen 2.0版本开始,您可以在项目映射中将要使用的插件作为:plugins的值进行指定。请参见示例project.clj文件。请注意,“sample”有些取名不当,它是所有可能(内置)关键字和默认值的参考。

lein-run

lein-run功能现在已经成为核心Leiningen的一部分,并且不需要作为插件进行指定。

clojars.org

Clojars是一个Clojure库仓库,类似于Maven中央存储库(或在某种程度上类似于RubyGems)。您不需要显式地从它中提取。相反,Leiningen被配置为搜索一组标准的存储库来查找您的:dependencies。例如,Maven通过三元组(group-name, artifact-name, version)唯一标识其依赖项(Maven术语中的构件)。Leiningen使用完全相同的机制,唯一的区别是组名称没有像Maven中央那样必须是反向URI的限制。实际上,您会看到许多库发布在Clojars中,其中名称与Clojure命名空间和GitHub项目名称相匹配,而没有烦人的com.mydomain.awesomelib

您可以通过在您的project.clj中使用 :repositories对自己的存储库进行搜索(或调整各种选项)。如果您有Maven repo的内部镜像,则同样可以设置:mirrors

“安装”未发布的插件

最后,虽然我不认为这是你直接询问的内容,但这仍然很有趣。如果你正在开发一个插件或者想要依赖于一个尚未正式发布的插件,你可以设置 :plugin-repositories


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接