lein - 如何使用下载的库

时间:2014-04-19 21:22:25

标签: clojure leiningen

假设我找到了一个很酷的clojure库,比如https://github.com/clojurewerkz/buffy

现在我想用它。它只存在于github上。

我该怎么做?我希望有一个完整的开始,以完成你好世界的例子。

我已经读过将其编译为jar并使用它,或者在我的project.clj中使用:dependencies,但到目前为止还没有完成任何示例,而且我是新的。

例如在python中,我git clone将repo放入我工作树的根目录,任何文件只能说import buffy

3 个答案:

答案 0 :(得分:3)

我刚刚在五分钟前学会了这个。我想使用clojure-csv库,这是我使用Leiningen

所做的
  1. 制作一个新的莱宁根项目

    lein new app csvtest

  2. 现在我有一个名为csvtest/的文件夹。在csvtest/project.clj文件中,编辑依赖项部分以添加clojure-csv github路径和版本。我不太确定版本控制是如何工作的:

    :dependencies [[org.clojure/clojure "1.5.1"]
                   [clojure-csv/clojure-csv "2.0.1"]]
    
  3. 现在运行lein deps以自动下载项目的任何未解析的依赖项

    $ lein deps
    ...
    Retrieving clojure-csv/clojure-csv/2.0.1/clojure-csv-2.0.1.pom from clojars
    ...
    
  4. 现在编辑csvtest/src/csvtest/core.clj。看起来像这样:

    修改(根据sveri的评论,我将:use closjure-csv.core更改为:require

    (ns csvtest.core
      (:gen-class)
      (:require [clojure-csv.core :refer [parse-csv]]))
    
    (defn -main
      "I don't do a whole lot ... yet."
      [& args]
      (println (parse-csv "1,2,3,hello,world")))
    

    您必须将(:require [clojure-csv.core :refer [parse-csv]])行添加到ns,并在main中调用parse-csv,即库提供的功能之一。从阅读开始,:use看起来有点赞成:require

    注意:对于任何来自python的人(像我一样),看起来像:use clojure-csv.core类似于from closure_csv import *,这在python中也是不好的做法。 (:require [clojure-csv.core :refer [parse-csv]])from clojure_csv import parse_csv

  5. 类似
  6. 使用lein run运行项目。我的输出是

    $ lein run  
    ([1 2 3 hello world])
    
  7. 我希望有所帮助!

答案 1 :(得分:1)

您可以从Clojars下载/使用它。

Clojars链接: https://clojars.org/clojurewerkz/buffy

要将其与Leiningen一起使用,请将其添加到您的依赖项(在project.clj文件上): [clojurewerkz/buffy "1.0.0-beta4"]

之后,您可以从项目根文件夹运行lein deps以下载依赖项。

要直接从Github repos使用依赖项,您可以查看:https://github.com/tobyhede/lein-git-deps

答案 2 :(得分:1)

使用lein(这是Clojure的构建工具),你有一个project.clj文件。如果你做lein new project-name,你会得到一个名为“project-name”的新项目,其中包含一个project.clj文件。查看该文件,您将在其中看到一个:dependencies条目,如下例所示:

:dependencies [[org.clojure/clojure "1.5.1"]]

你必须做的就是包含buffy,查看他们的github网站,找出要使用的版本,然后将其添加到:dependecies列表:

:dependencies [[org.clojure/clojure "1.5.1"] [clojurewerkz/buffy "1.0.0-beta3"]]

现在您只需执行lein deps即可下载依赖项,并在编写代码lein run后实际运行它。

仔细阅读lein并查看其sample project.clj文件,以便更好地了解如何使用clojure。