为什么clojurescript浏览器repl无法加载某些名称空间?

为什么clojurescript浏览器repl无法加载某些名称空间?,clojure,require,clojurescript,read-eval-print-loop,Clojure,Require,Clojurescript,Read Eval Print Loop,我写了一些测试,我发现: repl中只能需要作为已编译clojurescript依赖项的名称空间。 repl中不需要任何已编译clojurescript未引用的命名空间 这是REPL的限制吗?还是这里出了什么问题 当我需要未被任何编译的clojurescript引用的名称空间时,我得到了错误: cljs.user> (require 'cljsjs.d3) 711cljs.core._STAR_print_namespace_maps_STAR_ = true

我写了一些测试,我发现:

repl中只能需要作为已编译clojurescript依赖项的名称空间。 repl中不需要任何已编译clojurescript未引用的命名空间

这是
REPL
的限制吗?还是这里出了什么问题

当我需要未被任何编译的clojurescript引用的名称空间时,我得到了错误:

cljs.user> (require 'cljsjs.d3)
711cljs.core._STAR_print_namespace_maps_STAR_ = true                                                                                                                                            
712Loading: (goog)                                                                                                                                                                              
713Loading: (cljsjs.d3)                                                                                                                                                                         
714goog.addDependency("base.js", [], []);                                                                                                                                                       
715goog.addDependency("../cljsjs/d3/development/d3.inc.js", [], []);                                                                                                                            
716                                                                                                                                                                                             
717goog.require('cljsjs.d3');                                                                                                                                                                   
718null;                                                                                                                                                                                        
719                                                                                                                                                                                             
720"Error evaluating:" (require (quote cljsjs.d3)) :as "goog.require('cljsjs.d3');\nnull;\n"                                                                                                    
721Error: goog.require could not find: cljsjs.d3                                                                                                                                                
722Failed to canonicalize stacktrace                                                                                                                                                            
723clojure.lang.ExceptionInfo: Could not relativize URL http://192.168.124.5:9000/goog/base.js {:type :parse-stacktrace, :reason :relativize-url}                                               
724        at clojure.core$ex_info.invokeStatic(core.clj:4617)                                                                                                                                  
725        at clojure.core$ex_info.invoke(core.clj:4617)                                                                                                                                        
726        at cljs.stacktrace$parse_file.invokeStatic(stacktrace.cljc:104)                                                                                                                      
727        at cljs.stacktrace$parse_file.invoke(stacktrace.cljc:81)                                                                                                                             
728        at cljs.stacktrace$chrome_st_el__GT_frame.invokeStatic(stacktrace.cljc:121)                                                                                                          
729        at cljs.stacktrace$chrome_st_el__GT_frame.invoke(stacktrace.cljc:111)                                                                                                                
730        at cljs.stacktrace$eval9220$fn__9221$fn__9222.invoke(stacktrace.cljc:142)                                                                                                            
731        at clojure.core$map$fn__4785.invoke(core.clj:2646)                                                                                                                                   
732        at clojure.lang.LazySeq.sval(LazySeq.java:40)                                                                                                                                        
733        at clojure.lang.LazySeq.seq(LazySeq.java:49)                                                                                                                                         
734        at clojure.lang.RT.seq(RT.java:521)                                                                                                                                                  
735        at clojure.core$seq__4357.invokeStatic(core.clj:137)                                                                                                                                 
736        at clojure.core$filter$fn__4812.invoke(core.clj:2700)                                                                                                                                
737        at clojure.lang.LazySeq.sval(LazySeq.java:40)                                                                                                                                        
738        at clojure.lang.LazySeq.seq(LazySeq.java:49)                                                                                                                                         
739        at clojure.lang.RT.seq(RT.java:521)                                                                                                                                                  
740        at clojure.lang.LazilyPersistentVector.create(LazilyPersistentVector.java:44)                                                                                                        
741        at clojure.core$vec.invokeStatic(core.clj:377)                                                                                                                                       
742        at clojure.core$vec.invoke(core.clj:367)                                                                                                                                             
743        at cljs.stacktrace$eval9220$fn__9221.invoke(stacktrace.cljc:138)                                                                                                                     
744        at clojure.lang.MultiFn.invoke(MultiFn.java:243)                                                                                                                                     
745        at cljs.repl.browser.BrowserEnv._parse_stacktrace(browser.clj:281)                                                                                                                   
746        at cemerick.piggieback$fn__9491.invokeStatic(piggieback.clj:100)                                                                                                                     
747        at cemerick.piggieback$fn__9491.invoke(piggieback.clj:99)                                                                                                                            
748        at cljs.repl$eval8750$fn__8751$G__8741__8762.invoke(repl.cljc:147)                                                                       
749        at cljs.repl$display_error$fn__8901.invoke(repl.cljc:440)                                                                                                                            
750        at cljs.repl$display_error.invokeStatic(repl.cljc:439)                                                                                                                               
751        at cljs.repl$display_error.invoke(repl.cljc:428)                                                                                                                                     
752        at cljs.repl$repl_caught.invokeStatic(repl.cljc:753)                                                                                                                                 
753        at cljs.repl$repl_caught.invoke(repl.cljc:744)                                                                                                                                       
754        at cemerick.piggieback$run_cljs_repl$fn__9524.invoke(piggieback.clj:206)                                                                                                             
755        at cljs.repl$repl_STAR_$fn__9046$fn__9055.invoke(repl.cljc:927)                                                                                                                      
756        at cljs.repl$repl_STAR_$fn__9046.invoke(repl.cljc:924)                                                                                                                               
757        at cljs.compiler$with_core_cljs.invokeStatic(compiler.cljc:1271)                                                                                                                     
758        at cljs.compiler$with_core_cljs.invoke(compiler.cljc:1260)                                                                                                                           
759        at cljs.repl$repl_STAR_.invokeStatic(repl.cljc:888)                                                                                                                                  
760        at cljs.repl$repl_STAR_.invoke(repl.cljc:760)                                                                                                                                        
761        at cemerick.piggieback$run_cljs_repl.invokeStatic(piggieback.clj:169)                                                                                                                
762        at cemerick.piggieback$run_cljs_repl.invoke(piggieback.clj:155)                                                                                                                      
763        at clojure.lang.AFn.applyToHelper(AFn.java:171)                                                                                                                                      
764        at clojure.lang.AFn.applyTo(AFn.java:144)                                                                                                                                            
765        at clojure.core$apply.invokeStatic(core.clj:650)                                                                                                                                     
766        at clojure.core$apply.invoke(core.clj:641)                                                                                                                                           
767        at cemerick.piggieback$evaluate.invokeStatic(piggieback.clj:259)                                                                                                                     
768        at cemerick.piggieback$evaluate.invoke(piggieback.clj:255)                                                                                                                           
769        at clojure.lang.Var.invoke(Var.java:379)                                                                                                                                             
770        at cemerick.piggieback$wrap_cljs_repl$fn__9548$fn__9550$fn__9551.invoke(piggieback.clj:291)                                                                                          
771        at cemerick.piggieback$enqueue$fn__9534.invoke(piggieback.clj:247)                                                                                                                   
772        at clojure.tools.nrepl.middleware.interruptible_eval$run_next$fn__994.invoke(interruptible_eval.clj:190)                                                                             
773        at clojure.lang.AFn.run(AFn.java:22)                                                                                                                                                 
774        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)                                                                                                   
775        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)                                                                                                   
776        at java.lang.Thread.run(Thread.java:748)                                                                                                                                             
777                                                                                                                                                                                             
778Error: goog.require could not find: cljsjs.d3                                                                                                                                                
779    at Object.goog.require [as require__] (http://192.168.124.5:9000/goog/base.js:711:15)                                                                                                    
780    at Object.clojure.browser.repl.bootstrap.goog.require (http://192.168.124.5:9000/clojure/browser/repl.js:295:16)                                                                         
781    at eval (eval at <anonymous> (http://192.168.124.5:9000/clojure/browser/repl.js:106:297), <anonymous>:1:6)                                                                               
782    at http://192.168.124.5:9000/clojure/browser/repl.js:106:297                                                                                                                             
783    at clojure$browser$repl$evaluate_javascript (http://192.168.124.5:9000/clojure/browser/repl.js:109:4)                                                                                    
784    at Object.callback (http://192.168.124.5:9000/clojure/browser/repl.js:316:169)                                                                                                           
785    at goog.net.xpc.CrossPageChannel.goog.messaging.AbstractChannel.deliver (http://192.168.124.5:9000/goog/messaging/abstractchannel.js:141:13)                                             
786    at goog.net.xpc.CrossPageChannel.xpcDeliver (http://192.168.124.5:9000/goog/net/xpc/crosspagechannel.js:734:12)                                                                          
787    at Function.goog.net.xpc.NativeMessagingTransport.messageReceived_ (http://192.168.124.5:9000/goog/net/xpc/nativemessagingtransport.js:321:13)                                           
788    at Object.goog.events.fireListener (http://192.168.124.5:9000/goog/events/events.js:744:21)                                                                                              
789cljs.user> (require 'cljsjs.d3)





===========================================



1. Unhandled clojure.lang.ExceptionInfo
 6   Error: goog.require could not find: cljsjs.d3
 7   {:type :js-eval-exception,
 8    :error
 9    {:status :exception,
10     :ua-product :chrome,
11     :value "Error: goog.require could not find: cljsjs.d3",
12     :stacktrace
13     "Error: goog.require could not find: cljsjs.d3\n    at Object.goog.require [as require__] (http://192.168.124.5:9000/goog/base.js:711:15)\n    at Object.clojure.browser.repl.bootstrap.$
14    :form (require 'cljsjs.d3),
15    :js "goog.require('cljsjs.d3');\nnull;\n"}
16
17                  core.clj: 4617  clojure.core/ex-info                                                                                                                                        
18                 repl.cljc:  527  cljs.repl$evaluate_form/invokeStatic                                                                                                                        
20                 repl.cljc:  452  cljs.repl$evaluate_form/invoke                                                                                                                              
21                 repl.cljc:  625  cljs.repl$eval_cljs/invokeStatic                                                                                                                            
22                 repl.cljc:  618  cljs.repl$eval_cljs/invoke                                                                                                                                  
23                 repl.cljc:  880  cljs.repl$repl_STAR_$read_eval_print__9038/invoke                                                                                                           
24                 repl.cljc:  925  cljs.repl$repl_STAR_$fn__9046$fn__9055/invoke                                                                                                               
25                 repl.cljc:  924  cljs.repl$repl_STAR_$fn__9046/invoke                                                                                                                        
26             compiler.cljc: 1271  cljs.compiler$with_core_cljs/invokeStatic                                                                                                                   
27             compiler.cljc: 1260  cljs.compiler$with_core_cljs/invoke                                                                                                                         
28                 repl.cljc:  888  cljs.repl$repl_STAR_/invokeStatic                                                                                                                           
29                 repl.cljc:  760  cljs.repl$repl_STAR_/invoke                                                                                                                                 
30            piggieback.clj:  169  cemerick.piggieback/run-cljs-repl                                                                                                                           
31            piggieback.clj:  155  cemerick.piggieback/run-cljs-repl                                                                                                                           
32                  AFn.java:  171  clojure.lang.AFn/applyToHelper                                                                                                                              
33                  AFn.java:  144  clojure.lang.AFn/applyTo                                                                                                                                    
34                  core.clj:  650  clojure.core/apply                                                                                                                                          
35                  core.clj:  641  clojure.core/apply                                                                                                                                          
36            piggieback.clj:  259  cemerick.piggieback/evaluate                                                                                                                                
37            piggieback.clj:  255  cemerick.piggieback/evaluate                                                                                                                                
38                  Var.java:  379  clojure.lang.Var/invoke                                                                                                                                     
39            piggieback.clj:  291  cemerick.piggieback/wrap-cljs-repl/fn/fn/fn                                                                                                                 
40            piggieback.clj:  247  cemerick.piggieback/enqueue/fn                                                                                                                              
41                  AFn.java:   22  clojure.lang.AFn/run                                                                                                                                        
43   ThreadPoolExecutor.java: 1149  java.util.concurrent.ThreadPoolExecutor/runWorker                                                                                                           
44   ThreadPoolExecutor.java:  624  java.util.concurrent.ThreadPoolExecutor$Worker/run                                                                                                          
45               Thread.java:  748  java.lang.Thread/run
REPL
启动脚本:

(ns apps.cljs-rt-browser
  (:require [clojure.tools.logging :as log]
            [clojure.java.io :as io]
            [hiccup.core :refer [html]]
            [hiccup.page :refer [include-js]]
            [hiccup.element :refer [javascript-tag]]
            cljs.build.api
            cljs.repl.browser
            cemerick.piggieback
            ))



(def repl-client-url "http://192.168.124.5:9000/repl")

(def index-hcp
  [:html
   [:head]
   [:body
    (include-js "goog/base.js" "main.js")
    (javascript-tag (cljs.build.api/compile {} '(require 'clojure.browser.repl)))
    (javascript-tag (cljs.build.api/compile {} (apply list `(clojure.browser.repl/connect ~repl-client-url))))]])

(def index-path "out/index.html")

(defn -main []
  ;; generate:
  ;; module system: goog/base.js, module info of google: goog/deps.js, module of google: goog/**
  ;; module info of other: main.js, module of others
  (cljs.build.api/build "src" {:output-to "out/main.js"
                               :browser-repl true
                               :verbose true
                               })

  ;; repl will serve static, so just generate index.html
  (when-not (. (io/file index-path) exists)
    (spit index-path (html index-hcp)))

  ;; exclude "." from static-dir to avoid overwrite of repl compiled files: out/out/** 
  (cemerick.piggieback/cljs-repl (cljs.repl.browser/repl-env :static-dir ["out/"]) :repl-verbose true))


(-main)

你能提供更多的背景吗?你的project.clj看起来怎么样?你是如何启动repl的等等,这样我就可以在本地复制它。我已经添加了关于我的问题的更多信息,谢谢你的帮助@Anton Chikin。
(ns apps.cljs-rt-browser
  (:require [clojure.tools.logging :as log]
            [clojure.java.io :as io]
            [hiccup.core :refer [html]]
            [hiccup.page :refer [include-js]]
            [hiccup.element :refer [javascript-tag]]
            cljs.build.api
            cljs.repl.browser
            cemerick.piggieback
            ))



(def repl-client-url "http://192.168.124.5:9000/repl")

(def index-hcp
  [:html
   [:head]
   [:body
    (include-js "goog/base.js" "main.js")
    (javascript-tag (cljs.build.api/compile {} '(require 'clojure.browser.repl)))
    (javascript-tag (cljs.build.api/compile {} (apply list `(clojure.browser.repl/connect ~repl-client-url))))]])

(def index-path "out/index.html")

(defn -main []
  ;; generate:
  ;; module system: goog/base.js, module info of google: goog/deps.js, module of google: goog/**
  ;; module info of other: main.js, module of others
  (cljs.build.api/build "src" {:output-to "out/main.js"
                               :browser-repl true
                               :verbose true
                               })

  ;; repl will serve static, so just generate index.html
  (when-not (. (io/file index-path) exists)
    (spit index-path (html index-hcp)))

  ;; exclude "." from static-dir to avoid overwrite of repl compiled files: out/out/** 
  (cemerick.piggieback/cljs-repl (cljs.repl.browser/repl-env :static-dir ["out/"]) :repl-verbose true))


(-main)