如何安装leiningen插件?
例如,leiningen-run?
我看到这个名为“clojars.org”的东西,以及如何“推”到它,但我没有看到任何关于“拉”的东西。
答案 0 :(得分:10)
如果在Clojars上有一个插件,比如lein run,只需将它添加到project.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编写自己的插件,请查看this tutorial on nakkaya.com。即使你不打算编写lein插件,仍然看看那个博客,它绝对是积极的。
答案 1 :(得分:9)
使用Leiningen 2.0及更高版本,您可以在项目图中指定要作为:plugins
值的插件。请参阅示例project.clj文件。请注意,“sample”有点用词不当,它是所有可能(内置)键及其默认值文档的参考。
lein-run功能现在是leiningen核心的一部分,不需要指定为插件
Clojars是一个clojure库的存储库,非常类似于maven central(或者在某种程度上,类似于rubygems)。你没有明确地从中拉出来。相反,Leiningen被配置为搜索:dependencies
的标准回购集。 maven central和clojars。 Maven通过三(group-name, artifact-name, version)
唯一地标识其依赖关系(maven用语中的工件)。 Leiningen利用完全相同的机制,除了组名不具有与maven central一样的反向URI的限制。在实践中,你会看到许多库在clojars中发布,其中名称很好地匹配clojure名称空间和github项目名称而没有烦人的com.mydomain.awesomelib
您可以通过project.clj中的:repositories
设置自己的回购信息(或调整各种选项)。如果你有一个maven repo的内部镜像,你可以类似地设置:mirrors
。
最后,虽然我认为这不是你所要求的,但它仍然很有趣,如果你正在开发一个插件或者什么依赖于一个尚未正式发布的插件,你可以设置{{1 }}