如何安装 leiningen 插件?
例如,leiningen-run?
我看到这个叫做“clojars.org”的东西,以及如何“推送”到它,但我没有看到任何关于“拉”它的东西。
:plugins
使用 Leiningen 2.0 及更高版本,您可以在项目地图中指定要作为值的插件。请参阅示例project.clj文件。请注意,“示例”有点用词不当,它是所有可能(内置)键及其默认值文档的参考。
lein-run 功能现在是核心 leiningen 的一部分,不需要指定为插件
Clojars 是 clojure 库的存储库,非常类似于 maven Central(或在较小程度上,rubygems)。你没有明确地从中拉出来。相反,Leiningen 被配置为在一组标准的存储库中搜索您的:dependencies
Eg maven Central 和 clojars。Maven 通过三元组唯一地标识它的依赖项(用 Maven 的说法是工件)(group-name, artifact-name, version)
。Leiningen 利用完全相同的机制,除了组名没有像 maven Central 那样必须是反向 URI 的限制。在实践中,您会倾向于看到许多在 clojars 中发布的库,其名称与 clojure 命名空间和 github 项目名称非常匹配,而不会令人讨厌com.mydomain.awesomelib
:repositories
您可以通过在project.clj中设置要搜索的自己的存储库(或调整各种选项)。:mirrors
如果你有一个 maven repo 的内部镜像,你可以类似地设置。
最后,虽然我不认为那是你直接问的但它仍然很有趣,如果你正在开发一个插件或者依赖一个尚未正式发布的插件,你可以设置:plugin-repositories
如果 Clojars 提供了插件,例如 lein run,只需将其添加到项目的:dev-dependencies
project.clj 中,然后在项目目录中说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 插件,仍然可以查看该博客,它绝对是非常棒的。