让Leiningen在项目之外下载依赖项

时间:2013-04-30 02:45:10

标签: clojure leiningen

我正在学习Clojure,但我并没有真正为每个小代码片段构建整个项目,我只是将它们放入REPL中。偶尔我正在探索的代码片段需要依赖(通常是/在clojure.contrib中的东西)。

我知道如何将这些依赖项添加到我的计算机上的唯一方法是使用一个空的leiningen项目,将依赖项添加到project.clj并运行lein deps

有没有什么方法可以在项目之外全局下载库?如果那是我真的真的不想,为什么?

3 个答案:

答案 0 :(得分:2)

我有一个小项目,我用它来测试代码片段和回答SO问题,并且我也不断添加依赖项。这个项目的project.clj包含Pomegranate作为依赖项,然后动态加载其他依赖项就像:

(use '[cemerick.pomegranate :only (add-dependencies)])
(add-dependencies :coordinates '[[my-dependency "1.2.3"]])

答案 1 :(得分:2)

lein-try一个去。这是我编写的leiningen插件,它允许你在命令行中说出lein try [my-dependency 1.0.0]甚至lein try my-dependency之类的内容,并将其放入具有依赖性的REPL中。

答案 2 :(得分:1)

如果您使用lein-exec作为运行一次性脚本的方式,现在可以在脚本顶部使用一个小片段。添加:

(use '[leiningen.exec :only (deps)])
(deps '[[clj-time "0.8.0"]])

到你的clj的顶部。现在运行lein exec [example.clj]会自动降低要求。

如果您是lein exec的新手,只需将{:user {:plugins [[lein-exec "0.3.4"]]}}添加到~/.lein/profiles.clj即可开始在您的clj文件上运行lein exec。这是一种在没有项目的情况下运行代码的快捷方式。