Clojure库中的可选依赖项

Clojure库中的可选依赖项,clojure,clojurescript,Clojure,Clojurescript,我的库,可以使用或不使用,但当使用re-frame时,由于re-frame中的更改,它需要0.6.0或更高版本。有没有办法指定此要求,或者我必须将Prerenderer分为两个库,一个是具有核心的Prerenderer,另一个是具有特定于Re-frame部分的Prerenderer Re-frame?我认为您无法指定依赖项的最低版本,但您可以将它们放入“提供的”范围: :dependencies [[org.clojure/clojurescript "1.7.122"]

我的库,可以使用或不使用,但当使用re-frame时,由于re-frame中的更改,它需要0.6.0或更高版本。有没有办法指定此要求,或者我必须将Prerenderer分为两个库,一个是具有核心的Prerenderer,另一个是具有特定于Re-frame部分的Prerenderer Re-frame?

我认为您无法指定依赖项的最低版本,但您可以将它们放入
“提供的”
范围:

:dependencies [[org.clojure/clojurescript "1.7.122"]
               [re-frame "0.6.0" :scope "provided"]]
依赖项解析将不包括可传递的
“提供的”
依赖项,因此必须在使用库的任何内容中明确说明它们(需要在自述文件中传达)

更新:正如@Alex在评论中指出的,您可以将此类依赖项添加到名为
:profile的配置文件中


或者,您可以将
re frame
依赖项放入
:dev
配置文件中,这将使测试通过,但不包括工件部署的
pom.xml
中的依赖项。

我一直看到在leiningen中使用
:provided
配置文件指定提供的依赖项。
:scope
做同样的事情吗?@Alex我刚刚试过,虽然POM中
标记的位置发生了变化,但内容(尤其是提供的
)是相同的。我将更新我的答案,以提及
:提供的
配置文件,感谢您的评论!