【发布时间】:2012-08-21 22:31:28
【问题描述】:
用这个脚本https://raw.github.com/technomancy/leiningen/preview/bin/lein安装leiningen后,我可以通过输入lein repl来使用repl,所以我认为clojure已经被莱宁根。
我需要从官方网站重新下载clojure的JAR吗?
如果不需要,leiningten所依赖的clojure的JAR文件在哪里?
【问题讨论】:
用这个脚本https://raw.github.com/technomancy/leiningen/preview/bin/lein安装leiningen后,我可以通过输入lein repl来使用repl,所以我认为clojure已经被莱宁根。
我需要从官方网站重新下载clojure的JAR吗?
如果不需要,leiningten所依赖的clojure的JAR文件在哪里?
【问题讨论】:
leiningen 从 maven 存储库下载依赖项并将它们(默认情况下)存储在
${HOME}/.m2/repository
leiningen 将它自己的 jar 存储在
${HOME}/.lein/self-installs
leiningen 搜索的默认 maven 仓库是
【讨论】:
:local-build。
我发现 lein 是安装它,然后根据 Clojure 的特定版本导致该版本被获取,并且 .jar 文件在 maven 存储库中结束。
(defproject repl-test "0.0.1-SNAPSHOT"
:description "TODO: add summary of your project"
:dependencies [[org.clojure/clojure "1.4.0"]
[org.clojure/clojure-contrib "1.2.0"]
[clojure-csv/clojure-csv "1.3.2"]
[org.clojure/tools.cli "0.1.0"]
[util "1.0.2-SNAPSHOT"]
[clj-http "0.1.3"]]
:aot [repl-test.core]
:main repl-test.core)
我不确定 Clojure 是如何与 lein 打包的,但我通过观看 lein 构建知道它会导致 :dependencies 中的 Clojure 版本被获取(下载)。
lein 太好了,以至于我实际上卸载了默认的 Clojure,因为当 Clojure 进入新版本时,拥有 lein 就不那么痛苦了。
【讨论】:
Leiningen 是一个为您管理 Clojure(和 Java)库的工具 --- 包括 Clojure 本身(它只是另一个 Java 库(一个 jar))。
使用 lein 时无需手动下载任何 jars。
Leiningen 由两部分组成:lein 脚本和它保存在 ~/.lein 中的实现 jar --- 但您不必担心那个 jar; lein 脚本负责为您获取它。
我写了一个Brief Beginner's Guide,你可能会觉得有用。
【讨论】: