bodil / cljs-noderepl

A ClojureScript REPL running on Node.JS
166 stars 21 forks source link

lein trampoline noderepl fails (loudly) #17

Open venantius opened 10 years ago

venantius commented 10 years ago

Hi hi! I just hit the following:

(core-dev)[venantius@ziz:circleci] 15:57:23 $ lein trampoline noderepl
Retrieving org/bodil/lein-noderepl/0.1.11/lein-noderepl-0.1.11.pom from clojars
Retrieving leinjacker/leinjacker/0.4.2/leinjacker-0.4.2.pom from clojars
Retrieving leinjacker/leinjacker/0.4.2/leinjacker-0.4.2.jar from clojars
Retrieving org/bodil/lein-noderepl/0.1.11/lein-noderepl-0.1.11.jar from clojars
Retrieving org/bodil/cljs-noderepl/0.1.11/cljs-noderepl-0.1.11.pom from clojars
Retrieving com/cemerick/piggieback/0.1.2/piggieback-0.1.2.pom from central
Retrieving com/cemerick/piggieback/0.1.2/piggieback-0.1.2.jar from central
Retrieving org/bodil/cljs-noderepl/0.1.11/cljs-noderepl-0.1.11.jar from clojars
Compiling ClojureScript.
Exception in thread "main" java.io.FileNotFoundException: Could not locate cljsbuild/compiler__init.class or cljsbuild/compiler.clj on classpath:
    at clojure.lang.RT.load(RT.java:443)
    at clojure.lang.RT.load(RT.java:411)
    at clojure.core$load$fn__5018.invoke(core.clj:5530)
    at clojure.core$load.doInvoke(core.clj:5529)
    at clojure.lang.RestFn.invoke(RestFn.java:408)
    at clojure.core$load_one.invoke(core.clj:5336)
    at clojure.core$load_lib$fn__4967.invoke(core.clj:5375)
    at clojure.core$load_lib.doInvoke(core.clj:5374)
    at clojure.lang.RestFn.applyTo(RestFn.java:142)
    at clojure.core$apply.invoke(core.clj:619)
    at clojure.core$load_libs.doInvoke(core.clj:5413)
    at clojure.lang.RestFn.applyTo(RestFn.java:137)
    at clojure.core$apply.invoke(core.clj:619)
    at clojure.core$require.doInvoke(core.clj:5496)
    at clojure.lang.RestFn.invoke(RestFn.java:436)
    at user$eval7.invoke(form-init9205719152844321130.clj:1)
    at clojure.lang.Compiler.eval(Compiler.java:6619)
    at clojure.lang.Compiler.eval(Compiler.java:6608)
    at clojure.lang.Compiler.load(Compiler.java:7064)
    at clojure.lang.Compiler.loadFile(Compiler.java:7020)
    at clojure.main$load_script.invoke(main.clj:294)
    at clojure.main$init_opt.invoke(main.clj:299)
    at clojure.main$initialize.invoke(main.clj:327)
    at clojure.main$null_opt.invoke(main.clj:362)
    at clojure.main$main.doInvoke(main.clj:440)
    at clojure.lang.RestFn.invoke(RestFn.java:421)
    at clojure.lang.Var.invoke(Var.java:419)
    at clojure.lang.AFn.applyToHelper(AFn.java:163)
    at clojure.lang.Var.applyTo(Var.java:532)
    at clojure.main.main(main.java:37)

Which was curious because I had no problem loading stuff in from the REPL directly

(core-dev)[davidjarvis@ziz:circleci] 15:57:43 $ lein repl
Compiling ClojureScript.
Compiling "out/circleci.js" from ["src/cljs"]...
Successfully compiled "out/circleci.js" in 7.706 seconds.
nREPL server started on port 6005 on host 127.0.0.1
REPL-y 0.3.0
Clojure 1.5.1
    Docs: (doc function-name-here)
          (find-doc "part-of-name-here")
  Source: (source function-name-here)
 Javadoc: (javadoc java-object-or-class-here)
    Exit: Control+D or (exit) or (quit)
 Results: Stored in vars *1, *2, *3, an exception in *e

user=> (require '[cljs.repl :as repl] '[cljs.repl.node :as node])
nil
user=> (repl/repl (node/repl-env))
To quit, type: :cljs/quit
ClojureScript:cljs.user> (+ 2 2)
4
ClojureScript:cljs.user> (+ 1 1)
2

For reference, my project.clj currently looks like this:

(defproject circleci-cli "0.0.1"
  :description "A Command-Line Interface (CLI) for CircleCI"
  :url "http://www.circleci.com"
  :dependencies [[org.clojure/clojure "1.5.1"]
                 [org.clojure/clojurescript "0.0-2197"]
                 ;; [com.cemerick/piggieback "0.1.3"]
                 [com.cemerick/clojurescript.test "0.3.1"]
                 [org.bodil/cljs-noderepl "0.1.11"]
                 ]

  :plugins [[lein-cljsbuild "1.0.3"]
            [lein-npm "0.4.0"]
            [org.bodil/lein-noderepl "0.1.11"]]
  :hooks [leiningen.cljsbuild]
  :node-dependencies [[request "2.36.0"]
                      [docopt "0.4.0"]]

  ;; :repl-options {:nrepl-middleware [cemerick.piggieback/wrap-cljs-repl]}

  :source-paths ["src/cljs" "src/clj"]
  :cljsbuild {:builds [{:id "main"
                        :source-paths ["src/cljs"]
                        :compiler {:output-to "out/circleci.js"
                                   :optimizations :simple
                                   :target :nodejs
                                   :pretty-print true}}]})

Any thoughts as to why it's not happy launching from trampoline?

wiseman commented 9 years ago

See https://github.com/emezeske/lein-cljsbuild/issues/204 for more info.