【问题标题】:How do I use the Clojure `use` function in leiningen?如何在 leiningen 中使用 Clojure `use` 函数?
【发布时间】:2014-01-15 19:34:52
【问题描述】:

我对 Clojure 和 Leiningen 都很陌生。我已经在C:\clojure-1.5.1 在 Windows 上安装了 Clojure,在C:\.lein\bin 安装了 leiningen-win-installer beta1。

现在我正在尝试 Eric Rochester 书中的示例。我在 project.clj 中包含了 Incanter 的依赖库,并且还使用了 dep。

如何使用命令(use 'incanter.core)?我收到'use' is not recognized as an internal or external command。另外,user=>如何使用lein命令?

【问题讨论】:

  • 您是否使用 lein repl 启动了 REPL?
  • 是的,我做到了。 C:\.lein\bin>lein repl nREPL 服务器在主机 127.0.0.1 上的端口 3977 上启动 REPL-y 0.3.0 Clojure 1.5.1 Docs: (doc function-name-here) (find-doc "part-of- name-here") Source: (source function-name-here) Javadoc: (javadoc java-object-or-class-here) Exit: Control+D or (exit) o​​r (quit) Results: Stored in vars *1, *2、*3、*e 用户=> 中的异常(使用 'incanter.core) :443) 用户=>

标签: clojure leiningen


【解决方案1】:

编辑 - 在我看到 Mars 的回答之前,我忘记了“lein deps”

在开始 lein repl 之前,您必须创建项目(使用“lein new getting-data”或书中的任何内容)。

这会创建一个新目录,在该目录中您可以找到并编辑“project.clj”以包含依赖项(如书中所示)。

cd 到 project.clj 所在的目录,然后在 dos/powershell 提示符下运行“lein deps”。

那么当您在同一目录中运行 lein repl 时,在 user=> 提示符下,执行

(use 'incanter.core) 

它会以“nil”返回,您将开始运行。您可能想先从 leiningen 页面运行一些示例,以进一步了解 lein。您总是在“user=>”提示符下键入 clojure 命令,而不是在“c:....>”提示符处。

【讨论】:

    【解决方案2】:

    Leiningen project.clj 有一些微妙之处。我没有找到一个简单的介绍。 Levin Magruder 的建议无疑会帮助您入门。基本思路是,一旦项目文件设置正确,lein deps 就会出去寻找你需要的库,并将它们放在lein repl 可以找到的地方。然后use 将适用于已下载的库。有关更多信息,请研究详细的 cmets project.clj sample file 可能会有所帮助。 (不是这个问题的答案的一部分,但如果你遇到use 的问题,你很可能很快就会被ns 和文件名绊倒(我是):我推荐Colin Jones' introduction to ns and its options。)

    【讨论】:

      猜你喜欢
      • 2014-10-17
      • 1970-01-01
      • 2011-01-09
      • 2013-09-22
      • 2013-01-20
      • 1970-01-01
      • 2011-10-31
      • 2015-09-21
      • 2013-05-12
      相关资源
      最近更新 更多