【问题标题】:how are you expected to install the clojure modular contribs?您希望如何安装 clojure 模块化贡献?
【发布时间】:2012-06-10 05:29:47
【问题描述】:

旧的整体式 clojure.contrib 可作为 .jar 从您获得 clojure .jar 的同一位置获得,您可以通过将类路径指向它来使用它。据我所知,新的模块化贡献在 clojure .jar 中不可用——相反,它们作为源文件存在于 github 上。您使用它们的预期方式是什么?比如说,我想在 clojure.math.numeric-tower 中使用一些东西。我该怎么办?

我找到了How do I install Clojure 1.3 with contribs on RHEL 6.1 / JDK7?,但唯一的答案(“使用 leiningen”)不够详细,我无法弄清楚。 (在 clojars 中搜索 numeric-tower 产生的结果......什么都没有。)

【问题讨论】:

    标签: configuration clojure clojure-contrib


    【解决方案1】:

    您可以通过将其信息添加到 project.clj 文件中的 :dependencies 来安装一个 contrib 模块。下次您为某事运行 lein 时,它会注意到您的更改并自动为您抓取库。

    我有some more detailed instructions written up here

    【讨论】:

      【解决方案2】:

      Maven Settings and Repositories 中所述,部署所有 clojure 工件的存储库是Sonatype OSS Nexus。如果您不想采用 leiningen 或 maven 方式,我仍然建议您也考虑一次性实验,您仍然可以从该存储库手动下载所有工件。具体来说,hereclojure.math.numeric-tower的所有上传版本。

      【讨论】:

        【解决方案3】:

        虽然写这句话比创建一个新项目花费了我更长的时间,但我可以理解使用 leiningen 的不情愿。

        这类问题我通常的第一站是http://dev.clojure.org/display/design/Where+Did+Clojure.Contrib+Go 然后单击最新版本并获取我想要的工件和版本,然后像这样在 project.clj 的依赖项部分添加一行

        [math.numeric-tower "0.0.1"]
        

        【讨论】:

        • 这并不是不愿意使用 leiningen。可以看出,“使用 leiningen”这个简单的指令并没有告诉你如何实现目标。在这里,您使用了两条我不知道如何获取的信息——工件 ID 和版本号。
        • 点击本页名称下的最新发布链接,两者都在此处列出。
        【解决方案4】:

        如果您使用 Clojure,您实际上也应该使用 Leiningen 或 Maven 来管理您的依赖项。我相信随着您的项目变得越来越大并且具有更复杂的构建要求,这些是保持复杂依赖关系图的唯一明智的方法。

        例如,我使用 Maven 并在我的项目的 pom.xml 中包含以下内容以包含数字依赖项:

            <dependency>
                <groupId>org.clojure</groupId>
                <artifactId>math.numeric-tower</artifactId>
                <version>0.0.1</version>
            </dependency>
        

        所有模块化的 Clojure 贡献库都可以以相同的方式包含。

        【讨论】:

          猜你喜欢
          • 2017-11-29
          • 2016-10-29
          • 1970-01-01
          • 2012-01-09
          • 2011-12-24
          • 2010-12-10
          • 2014-12-08
          • 1970-01-01
          • 2016-12-10
          相关资源
          最近更新 更多