Leiningen项目中如何保持依赖版本的最新性

24

有没有一种简单的方法可以使用Leiningen查找可用依赖项的版本?

例如,如果我有一个Web应用程序依赖于Hiccup和Compojure,如何确保我正在使用每个依赖项的最新版本,而不必去每个github页面查看?

注意:我使用Ant和Ivy构建我的Java项目,因此对Maven的了解有限 - 因此,请详细说明(或提供Fine链接让我阅读)Leiningen向我展示的任何Maven概念,这将有助于解决此问题(我知道在幕后,Leiningen使用Maven进行依赖关系解析)。

4个回答

31
自原回答以来,Clojure生态系统已经发生了变化。目前,我建议使用lein-ancient

这是一个Leiningen插件,用于检查您的项目中是否存在过时的依赖项和插件。该插件取代了 lein-outdated,并使用不同Maven仓库中的元数据XML文件而不是基于Lucene的搜索索引。版本比较使用version-clj进行。

它的前身lein-outdated在其README中有这样一个有用的信息:“lein-outdated已经过时”。 :)


10

在至少对于保存在clojars中的依赖项而言,标准方法是使用lein-search插件

更新:有关更为实时的响应,请查看下面得分最高的答案。


该插件的最后一次提交是9年前!这个项目已经死了。 - Weltraumschaf

8
您应该查看这个问题的答案。Leiningen使用与Maven相同的版本控制机制,因此,例如,如果您想要使用给定库的最新版本,可以用单词“LATEST”替换版本号。您还可以指定发布版本或版本范围。请再次查看该链接上的答案。

好的,所以Maven在这方面实现了与Ivy类似的功能。很酷。我如何从Leiningen中获取它? - kittylyst
@kittylyst:你只需要在你的project.clj文件中替换依赖版本字符串。例如,你可以将:dependencies [[compojure"0.4.0"]]替换为:dependencies [[compojure"LATEST"]] - stand
1
我想我也应该警告一下,如果不指定每个依赖项的确切版本,您会在项目中引入一些不确定性。对于发布的软件,最好确定确切的版本,但对于开发来说,这应该是可以的。 - stand
同意。这只是为了 DEV 环境。CI 和更高的环境应该使用精确的依赖项。 - kittylyst
看起来Leiningen不再支持使用“LATEST”作为版本号。 - Alan Thompson

0

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