ClojureScript 在简单命名空间定义上抛出语法错误

ClojureScript is throwing a syntax error on simple namespace definition

我正在努力学习 Clojure 和 Clojurescript;目前正在阅读 Living Clojure.

这本书

我在编译 ClojureScript 时遇到了问题...我只是按照书中指定的示例给出了示例:

(ns cheshire-cat.core)

(defn ^:export init []
  (js/alert "hi"))

我尝试了本书对 运行 编译器的建议

lein cljsbuild auto

但是我得到这个错误:

Compiling ClojureScript.
Syntax error macroexpanding clojure.core/ns at (cljsbuild/crossover.clj:1:1).
import - failed: #{:refer-clojure} at: [:ns-clauses :refer-clojure :clause] spec: :clojure.core.specs.alpha/ns-refer-clojure
import - failed: #{:require} at: [:ns-clauses :require :clause] spec: :clojure.core.specs.alpha/ns-require
import - failed: #{:import} at: [:ns-clauses :import :clause] spec: :clojure.core.specs.alpha/ns-import
import - failed: #{:use} at: [:ns-clauses :use :clause] spec: :clojure.core.specs.alpha/ns-use
import - failed: #{:refer} at: [:ns-clauses :refer :clause] spec: :clojure.core.specs.alpha/ns-refer
import - failed: #{:load} at: [:ns-clauses :load :clause] spec: :clojure.core.specs.alpha/ns-load
import - failed: #{:gen-class} at: [:ns-clauses :gen-class :clause] spec: :clojure.core.specs.alpha/ns-gen-class

Full report at:
/tmp/clojure-3119149998558661227.edn

请帮忙?我已经使用 Clojure 工作了几个星期,但刚刚开始使用 ClojureScript。

您的问题已在此处解决

https://github.com/emezeske/lein-cljsbuild/commit/3d4d8d8f89f140e6b28aa8ce995c44743e4c6cf3

您应该将 cljsbuild 升级到 1.1.8 或将您的 clojure 降级到 1.8.0