【问题标题】:How to install a dependency in a Clojure project如何在 Clojure 项目中安装依赖项
【发布时间】:2012-10-15 22:19:58
【问题描述】:

这是一个菜鸟问题,如果我冒犯了某人,我很抱歉。

但是如何在 *nix 计算机上安装跷跷板? 是的,我已经阅读了 README.MD 文件,但是 project.clj 如何知道在哪里可以找到库 jar(例如跷跷板)?

【问题讨论】:

    标签: clojure seesaw


    【解决方案1】:

    编辑 project.clj 并将依赖项(项目标识信息和版本的向量)添加到 project.clj 中的 :dependencies 向量中。

    依赖声明如下所示:[seesaw "1.4.2"] 您可以通过在 http://clojars.org 上搜索跷跷板找到它。

    您的项目文件至少应类似于:

    
    (defproject my-awesome-gui-application "0.1.0-SNAPSHOT"
      :description "FIXME: write description"
      :dependencies [[org.clojure/clojure "1.4.0"]
                     [seesaw "1.4.2"]])
    

    如果您使用的是更新版本的 leiningen,您可以输入 lein deps :tree 来查看您的依赖关系树。换句话说,您可以看到实际使用了哪些库,即。您声明的那些及其传递依赖项。

    
    $ lein deps :tree
     [org.clojure/clojure "1.4.0"]
     [seesaw "1.4.2"]
       [com.jgoodies/forms "1.2.1"]
       [com.miglayout/miglayout "3.7.4"]
       [j18n "1.0.1"]
       [org.fife.ui/rsyntaxtextarea "2.0.3"]
       [org.swinglabs.swingx/swingx-core "1.6.3"]
         [org.swinglabs.swingx/swingx-action "1.6.3"]
         [org.swinglabs.swingx/swingx-autocomplete "1.6.3"]
           [org.swinglabs.swingx/swingx-common "1.6.3"]
         [org.swinglabs.swingx/swingx-painters "1.6.3"]
         [org.swinglabs.swingx/swingx-plaf "1.6.3"]
    

    如果您使用的是旧版本的 leiningen,请键入 lein deps 并查看 ./libs 以查看获取了哪些 jars(新版本的 lein 更智能,并且直接使用 ~/.m2 中的 jars 而不是复制它们进入你的项目。目录 ~/.m2 是你本地 Maven 存储库的位置。Leiningen 处理 Maven 并下载你指定的所有依赖项,这样你就不必直接担心 Maven。)

    我在 ~/.m2 中提到了 Maven 和您的本地 maven 存储库。运气好的话,您可能根本不需要考虑 Maven(除了浏览 maven Central 以查找 Java 库以粘贴在 project.clj 中),但有时您可能会怀疑 jar 已损坏或其他原因这种效果,很高兴知道您可以通过删除 .m2 存储库来消除该状态。

    【讨论】:

      【解决方案2】:

      project.clj 文件指定leiningen 的项目配置。

      Leiningen 下载并安装 project.clj 文件中指定的依赖项,并启动项目/运行 repl 进程/将项目编译为 java jar/其他。请参阅上面的链接。简而言之,leiningen 是您的基本操作系统和基本的基于 java 的 clojure 运行时/编译器之间最流行的粘合剂。

      通常,您不必安装任何 clojure 库(甚至是 clojure)。除非您需要额外的库来开发/调试当前项目(通常不需要),否则您只需安装 leiningen,leiningen 将为您要运行的项目安装依赖项。

      更具体地说:leiningen 通过委派给maven 获取其下载位置/安装说明,这是一个非常有趣的项目。但如果您的时间很宝贵,可能不值得仔细研究。

      【讨论】:

      • 我喜欢这个解释。它澄清了我对 leiningen 的许多疑问。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2022-11-10
      • 1970-01-01
      • 2019-05-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-08-21
      相关资源
      最近更新 更多