当我需要一个库时,在lein repl中说reagent
(已添加项目依赖项):
user=> (require '[reagent.core :as r])
nil
输出为零,我认为这意味着成功。但是当我使用r
时,说(r/atom 3)
,repl抛出一个错误说:
CompilerException java.lang.RuntimeException: Unable to resolve symbol: r in
this context, compiling: (/private/var/folders/_y/n3ym4ftj2ld9tl471g_kcv_00000gn/T
/form-init1002540725014588615.clj:1:4923)
这看起来很奇怪。 有人有想法吗?
顺便说一句,我可以要求java和clojure库。
答案 0 :(得分:1)
可能您正在尝试使用ClojureScript库:Clojure REPL中的试剂。找出导致错误的原因并不是很有用,因为Clojure和ClojureScript分别假设在非常不同的环境(JVM和JavaScript)中运行。但是同样的尝试将在ClojureScript上下文中成功。
作为测试,基于figwheel模板创建一个ClojureScript项目。
lein new figwheel rtest
cd rtest
在project.clj中添加regent依赖项
:dependencies [[org.clojure/clojure "1.8.0"]
[reagent "0.6.0"] ; only add this line
运行项目
rlwrap lein figwheel
您将自动连接到浏览器repl。否则,请浏览到http://localhost:3449/index.html以建立连接。
现在你可以重试你的所作所为。
cljs.user=> (require '[reagent.core :as r])
nil
cljs.user=> (type r/render-component)
#object[Function "function Function() { [native code] }"]