【问题标题】:Is there a standalone Clojure package within Leiningen?Leiningen 中是否有独立的 Clojure 包?
【发布时间】: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文件在哪里?

【问题讨论】:

    标签: clojure leiningen


    【解决方案1】:

    leiningen 从 maven 存储库下载依赖项并将它们(默认情况下)存储在

    ${HOME}/.m2/repository
    

    leiningen 将它自己的 jar 存储在

    ${HOME}/.lein/self-installs
    

    leiningen 搜索的默认 maven 仓库是

    【讨论】:

    • 您提到 leiningen 存储依赖项的“默认情况下”。有没有办法自定义那个位置?我不希望这些在我的本地 maven 中。
    • 无视这个问题。您可以在 project.clj 中指定:local-build
    【解决方案2】:

    我发现 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 就不那么痛苦了。

    【讨论】:

    【解决方案3】:

    Leiningen 是一个为您管理 Clojure(和 Java)库的工具 --- 包括 Clojure 本身(它只是另一个 Java 库(一个 jar))。

    使用 lein 时无需手动下载任何 jars。

    Leiningen 由两部分组成:lein 脚本和它保存在 ~/.lein 中的实现 jar --- 但您不必担心那个 jar; lein 脚本负责为您获取它。

    我写了一个Brief Beginner's Guide,你可能会觉得有用。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-06-18
      • 2011-10-16
      • 2013-01-22
      • 2013-11-18
      • 2011-07-22
      • 2014-10-17
      • 1970-01-01
      相关资源
      最近更新 更多