我问这个问题是为了理清我对project.clj的困惑:依赖关系和模块使用:use /:require。
我用lein来构建。我想编写一个Clojure项目,也许除了依赖于特定的Clojure版本之外,不希望项目依赖于任何模块的特定版本。
例如:
(defproject bene-csv "1.0.0-SN"
:description "A csv parsing library"
:dependencies [[org.clojure/clojure "1.3.0"]
[clojure-csv/clojure-csv "1.3.2"]])
我并不特别需要依赖clojure-csv 1.3.2。我的代码将适用于任何版本。
我是否需要指定依赖项以便在本地获取版本?
如果没有,那么还有哪些机制可以获得我需要的模块以及它们在哪里 位于哪儿?
谢谢。
答案 0 :(得分:4)
我相信leiningen使用与maven相同的版本控制系统。请参阅Keeping dependency versions up to date in Leiningen projects和How do I tell Maven to use the latest version of a dependency?。
答案 1 :(得分:4)
告诉莱宁根“只要拉你喜欢的任何版本;我不在乎”只是在路上遇到麻烦。可重复性是自动化的基础:https://github.com/technomancy/leiningen/wiki/Repeatability