什么';Leiningen和Clojure CLI工具之间的区别是什么?我应该如何使用它们?
我最近在和Clojure玩。据我所知,Clojure生态系统中最受欢迎的依赖关系管理工具是Leiningen。但我也发现Clojure提供了一种可能取代Leiningen的方法。由于Clojure的经验有限,我不太理解Leiningen和那些CLI工具之间的区别。我听说那些CLI工具非常轻量级,这意味着什么?我应该如何使用它们?CLI工具的范围比Leiningen更有限-它是一个可以用来快速启动REPL的小工具。与什么';Leiningen和Clojure CLI工具之间的区别是什么?我应该如何使用它们?,clojure,leiningen,Clojure,Leiningen,我最近在和Clojure玩。据我所知,Clojure生态系统中最受欢迎的依赖关系管理工具是Leiningen。但我也发现Clojure提供了一种可能取代Leiningen的方法。由于Clojure的经验有限,我不太理解Leiningen和那些CLI工具之间的区别。我听说那些CLI工具非常轻量级,这意味着什么?我应该如何使用它们?CLI工具的范围比Leiningen更有限-它是一个可以用来快速启动REPL的小工具。与tools.deps.alpha相结合,它可以用来运行代码和拉入第三方依赖项。你可
tools.deps.alpha
相结合,它可以用来运行代码和拉入第三方依赖项。你可以阅读更多关于它的内容
莱宁根可以做到这一切,另外:
- 创建部署工件(Uberjar)
- 启动REPL服务器或连接到正在运行的服务器
- 管理混合项目(例如Clojure+Java或Clojure+Clojurescript)
- 在项目中运行任意任务
- 管理依赖关系
- 插件支持(linter、部署工具)
- 与Maven集成
在这一点上,Lein对于构建应用程序和库更为有用,因为它具有您可能需要的所有功能。也就是说,CLI tools+
tools.deps
正在迅速获得吸引力,有些项目添加了Leiningen中所有缺失的部分,但您必须自己将它们组合起来。这个答案已经过时(在某些情况下是正确的)但不是CLI可以做到这一切,而且超级种子leiningen在大多数clojure开源项目上都能做到。@andy有趣-你有证据支持吗?根据最近的Clojure调查(2020年),近90%的受访者使用Lein,而clj cli的使用率约为50%。我还是要说,Lein提供了更好的开箱即用体验,即使没有插件——特别是uberjar命令。我同意,自从我写了那篇评论后,我就一直在重复这一点,我们都很好。我仍然可以在CLI中找到的唯一优势是,它将figwheel与开箱即用集成在一起,并且在用户部分上没有配置,而且我喜欢直接从github依赖项引入deps.edn。但这是一个简单的偏好问题。谢谢你的回复,我可以更正。没问题,安迪-我希望最终deps能以某种方式与Lein合并(例如,取代其依赖关系管理,使Leiningen更像一个项目任务执行者)。