【问题标题】:Dependencies in a clojurescript with leiningen带有 leiningen 的 clojurescript 中的依赖关系
【发布时间】:2014-01-26 18:14:39
【问题描述】:

我现在正在认真地拉扯我的头发!我是 clojure 的菜鸟:如果没有此错误,我似乎无法完成简单的 clojurescript 编译:

错误:JSC_MISSING_PROVIDE_ERROR。 /home/jldupont/workspace/$someproject/target/cljsbuild-compiler-0/domain2/main.js 第 4 行从未提供所需的“clojure.core.async”命名空间:0

我有以下project.clj 文件:

(defproject $someproject "0.1"
  :description "some project..."
  :dependencies [[org.clojure/clojure "1.5.1"]
                 [org.clojure/clojurescript "0.0-2030"]
                 [org.clojure/core.async "0.1.267.0-0d7780-alpha"]                 
                ]
  :plugins [[lein-cljsbuild "0.3.2"]]
  :cljsbuild {
              :builds [{:id "domain2"
                        :source-paths ["src/cljs/model2/domain"]
                        :compiler {:output-to      "src/assets/js/model2/domain/domain2.js"
                                   :optimizations :advanced
                                   :pretty-print   true}
                       }
                      ]
            }
)

每次我使用lein cljsbuild auto 都会收到上面引用的错误。

请帮忙!

更新

我查看了我的 ~/.m2 目录,并且存在依赖项(在本例中为 core.async)。

更新 2

似乎是 Google Closure Compiler 发出了此错误消息。不确定如何为其提供依赖项的路径...

【问题讨论】:

  • 我认为您的:source-paths 可能是错误的。请改用:source-paths ["src/cljs"]
  • 它可以找到我的源文件。这不是问题。
  • 您需要正确的命名空间吗?似乎cljs.core.async 用于 ClojureScript,clojure.core.async 用于 Clojure。
  • @xsc 你成功了!!!正确的答案,我会欣然接受。

标签: clojure leiningen clojurescript


【解决方案1】:

正如我在上面的评论中提到的:如果你想将 core.async 与 ClojureScript 一起使用,你必须要求命名空间 cljs.core.async(而不是 Clojure 的 clojure.core.async)。

【讨论】:

    猜你喜欢
    • 2016-01-10
    • 2015-01-29
    • 2015-12-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-05
    • 2012-07-07
    • 1970-01-01
    相关资源
    最近更新 更多