【问题标题】:Dependencies in profiles.clj aren't loaded in lein replprofile.clj 中的依赖项未在 lein repl 中加载
【发布时间】:2015-02-12 13:22:36
【问题描述】:

.lein/profiles.clj 的依赖关系为,

{:user {}
     :repl {:dependencies [[org.clojure/clojure "1.4.0"]
                       [ring/ring "1.1.6"]]
        }}

在回复中

(require 'ring.adapter.jetty)

投掷,

java.io.FileNotFoundException: Could not locate ring/adapter/jetty__init.class or ring/adapter/jetty.clj on classpath:  (NO_SOURCE_FILE:0)

这意味着,ring 依赖没有加载到 repl shell 中。有错误吗?

【问题讨论】:

  • 这是 ring 和 Clojure 的旧版本。 ring 的依赖块的当前版本是 [ring "1.3.2"]。您能否尝试使用更新的环版本和 Clojure 1.6+ 并包含运行“lein deps”报告的任何错误
  • 库依赖项几乎肯定应该在这个项目的 project.clj 文件中,而不是在你的 lein 配置文件中。您能否包含此项目的 project.clj 文件。
  • 没有项目。我正在从 bash shell 运行它...比如 nodejs repl,可以从任何目录运行...

标签: clojure leiningen read-eval-print-loop


【解决方案1】:

首先,我建议您阅读https://github.com/technomancy/leiningen/blob/stable/doc/PROFILES.md,因为我不确定您是否正确使用了配置文件。特别是,最后它显示了一种调试配置文件的方法,它将向您展示正在发生的事情。

其次,我不确定“没有项目 - 我正在从 bash shell 运行它”。如果您加载码头并使用环,您还需要设置处理程序、路由和可能的中间件的代码。这意味着代码文件,这意味着项目树。使用 lein new 创建一个基本项目并从该项目的根目录运行。

但是,如果你真的需要按照你说的去做,我建议你就去做

{:user {:dependencies [[....]]}} 作为您的 profiles.clj,因为我怀疑发生的事情是 lein 没有加载您的 :repl 个人资料。您也可以尝试使用显式配置文件运行 lein,即 lein with-profile +repl repl

【讨论】:

    猜你喜欢
    • 2012-04-06
    • 1970-01-01
    • 1970-01-01
    • 2018-07-24
    • 2014-10-26
    • 2021-05-31
    • 2016-08-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多