与leiningen在clojurescript中的依赖关系

时间:2014-01-26 18:14:39

标签: clojure leiningen clojurescript

我正在认真地拉我的头发!我是clojure的总菜鸟:我似乎无法在没有此错误的情况下完成简单的clojurescript编译:

  

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

我有以下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会发出此错误消息。不知道如何为它提供依赖的路径......

1 个答案:

答案 0 :(得分:7)

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