luminus-framework / luminus-template Goto Github PK
View Code? Open in Web Editor NEWa template project for the Luminus framework
Home Page: http://www.luminusweb.net/
License: MIT License
a template project for the Luminus framework
Home Page: http://www.luminusweb.net/
License: MIT License
Hi. Would making Bootstrap an optional feature make sense?
Anyway, I went ahead and created a fork that adds a +bootstrap
feature. :)
I use emacs and vim under windows.
Kioo is on my list of requirements for a cljs app framework. If no one has started this, I will add it to my list.
last year , I used luminus-template. I started web app with (start-server) in (ns projectname.repl) when repl.but I don't know how to repl it now.
When I try to lein repl
or lein ring server
a project, I'm getting this stacktrace:
I was working on a fork just trying something out, so I lein install
my local copy. I proceed to create a test project and everything went well, but when I did lein repl
, this error shows up. I thought maybe my changes caused it, so I reverted by removing the template project from ~/.m2/repository
and then trying again. Here's the result:
$ lein new luminus test
Retrieving luminus/lein-template/1.11.5/lein-template-1.11.5.jar from clojars
Generating a lovely new Luminus project named test...
$ lein repl
Compiling test.handler
Exception in thread "main" java.lang.RuntimeException: No such var: clojure.core.cache/through, compiling:(clojure/core/memoize.clj:52:3)
at clojure.lang.Compiler.analyze(Compiler.java:6380)
at clojure.lang.Compiler.analyze(Compiler.java:6322)
at clojure.lang.Compiler$InvokeExpr.parse(Compiler.java:3573)
at clojure.lang.Compiler.analyzeSeq(Compiler.java:6562)
at clojure.lang.Compiler.analyze(Compiler.java:6361)
at clojure.lang.Compiler.analyze(Compiler.java:6322)
at clojure.lang.Compiler$BodyExpr$Parser.parse(Compiler.java:5708)
at clojure.lang.Compiler$FnMethod.parse(Compiler.java:5139)
at clojure.lang.Compiler$FnExpr.parse(Compiler.java:3751)
at clojure.lang.Compiler.analyzeSeq(Compiler.java:6558)
at clojure.lang.Compiler.analyze(Compiler.java:6361)
at clojure.lang.Compiler.analyzeSeq(Compiler.java:6548)
at clojure.lang.Compiler.analyze(Compiler.java:6361)
at clojure.lang.Compiler.access$100(Compiler.java:37)
at clojure.lang.Compiler$DefExpr$Parser.parse(Compiler.java:529)
at clojure.lang.Compiler.analyzeSeq(Compiler.java:6560)
at clojure.lang.Compiler.analyze(Compiler.java:6361)
at clojure.lang.Compiler.analyze(Compiler.java:6322)
at clojure.lang.Compiler.compile1(Compiler.java:7148)
at clojure.lang.Compiler.compile(Compiler.java:7219)
at clojure.lang.RT.compile(RT.java:398)
at clojure.lang.RT.load(RT.java:438)
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:621)
at clojure.core$use.doInvoke(core.clj:5507)
at clojure.lang.RestFn.invoke(RestFn.java:408)
at ring.middleware.format_response$loading__4910__auto__.invoke(format_response.clj:1)
at clojure.lang.AFn.applyToHelper(AFn.java:159)
at clojure.lang.AFn.applyTo(AFn.java:151)
at clojure.lang.Compiler$InvokeExpr.eval(Compiler.java:3458)
at clojure.lang.Compiler.compile1(Compiler.java:7153)
at clojure.lang.Compiler.compile1(Compiler.java:7143)
at clojure.lang.Compiler.compile(Compiler.java:7219)
at clojure.lang.RT.compile(RT.java:398)
at clojure.lang.RT.load(RT.java:438)
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:5417)
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:408)
at ring.middleware.format$loading__4910__auto__.invoke(format.clj:1)
at clojure.lang.AFn.applyToHelper(AFn.java:159)
at clojure.lang.AFn.applyTo(AFn.java:151)
at clojure.lang.Compiler$InvokeExpr.eval(Compiler.java:3458)
at clojure.lang.Compiler.compile1(Compiler.java:7153)
at clojure.lang.Compiler.compile1(Compiler.java:7143)
at clojure.lang.Compiler.compile(Compiler.java:7219)
at clojure.lang.RT.compile(RT.java:398)
at clojure.lang.RT.load(RT.java:438)
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:621)
at clojure.core$use.doInvoke(core.clj:5507)
at clojure.lang.RestFn.invoke(RestFn.java:930)
at noir.util.middleware$loading__4910__auto__.invoke(middleware.clj:1)
at clojure.lang.AFn.applyToHelper(AFn.java:159)
at clojure.lang.AFn.applyTo(AFn.java:151)
at clojure.lang.Compiler$InvokeExpr.eval(Compiler.java:3458)
at clojure.lang.Compiler.compile1(Compiler.java:7153)
at clojure.lang.Compiler.compile1(Compiler.java:7143)
at clojure.lang.Compiler.compile(Compiler.java:7219)
at clojure.lang.RT.compile(RT.java:398)
at clojure.lang.RT.load(RT.java:438)
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:619)
at test.handler$loading__4910__auto__.invoke(handler.clj:1)
at clojure.lang.AFn.applyToHelper(AFn.java:159)
at clojure.lang.AFn.applyTo(AFn.java:151)
at clojure.lang.Compiler$InvokeExpr.eval(Compiler.java:3458)
at clojure.lang.Compiler.compile1(Compiler.java:7153)
at clojure.lang.Compiler.compile1(Compiler.java:7143)
at clojure.lang.Compiler.compile(Compiler.java:7219)
at clojure.lang.RT.compile(RT.java:398)
at clojure.lang.RT.load(RT.java:438)
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$compile$fn__5023.invoke(core.clj:5541)
at clojure.core$compile.invoke(core.clj:5540)
at user$eval1909.invoke(form-init8504690878451559471.clj:1)
at clojure.lang.Compiler.eval(Compiler.java:6619)
at clojure.lang.Compiler.eval(Compiler.java:6609)
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)
Caused by: java.lang.RuntimeException: No such var: clojure.core.cache/through
at clojure.lang.Util.runtimeException(Util.java:219)
at clojure.lang.Compiler.resolveIn(Compiler.java:6848)
at clojure.lang.Compiler.resolve(Compiler.java:6818)
at clojure.lang.Compiler.analyzeSymbol(Compiler.java:6779)
at clojure.lang.Compiler.analyze(Compiler.java:6343)
... 135 more
Compilation failed: Subprocess failed
With some digging, it seems it's lib-noir that depends on ring-middleware-format which in turn depends on clojure.core.memoize which in turn depends on clojure.core.cache. Adding org.clojure/core.cache
to project.clj
doesn't seem to fix the issue.
Note that prior to trying out my fork, everything was working fine. Maybe an old version of some dependency got installed when I tried out my fork?
/dev/guestbook/resources/templates/templates/base.html (No such file or directory)
It is looking for /templates/templates/ directory while rendering the hone page.
seems to be an issue
For example : http://localhost:3000/about returns home page. Same is the case for static resources such as css, javascript etc.
lein new luminus mysite +site +cljs +postgres +http-kit
the home page don't display the menu.
when do not use +cljs, it display the menu.
This is when I tried luminus for the first time.
Oh, and this might be a hint when I asked for help initially ;)
<technomancy_> wink: seems like an aether bug. it should be able to determine the latest version by fetching the metadata.xml file only
But who knows, maybe you got an idea.
$ lein version
Leiningen 2.0.0 on Java 1.6.0_18 OpenJDK Client VM
$ lein new luminus simplex-clj +h2
Retrieving luminus/lein-template/0.1.1/lein-template-0.1.1.pom from clojars
Retrieving leinjacker/leinjacker/0.2.0/leinjacker-0.2.0.pom from clojars
Retrieving trammel/trammel/0.7.0/trammel-0.7.0.pom from clojars
Retrieving thneed/thneed/1.0.0-SNAPSHOT/thneed-1.0.0-20120330.013054-1.pom from clojars
Retrieving luminus/lein-template/0.1.2/lein-template-0.1.2.pom from clojars
Retrieving luminus/lein-template/0.1.5/lein-template-0.1.5.pom from clojars
Retrieving luminus/lein-template/0.1.6/lein-template-0.1.6.pom from clojars
Retrieving luminus/lein-template/0.1.7/lein-template-0.1.7.pom from clojars
Retrieving luminus/lein-template/0.1.8/lein-template-0.1.8.pom from clojars
Retrieving luminus/lein-template/0.2.0/lein-template-0.2.0.pom from clojars
Retrieving luminus/lein-template/0.2.1/lein-template-0.2.1.pom from clojars
Retrieving luminus/lein-template/0.2.2/lein-template-0.2.2.pom from clojars
Retrieving luminus/lein-template/0.2.3/lein-template-0.2.3.pom from clojars
Retrieving luminus/lein-template/0.2.4/lein-template-0.2.4.pom from clojars
Retrieving luminus/lein-template/0.2.5/lein-template-0.2.5.pom from clojars
Retrieving luminus/lein-template/0.2.6/lein-template-0.2.6.pom from clojars
Retrieving luminus/lein-template/0.2.7/lein-template-0.2.7.pom from clojars
Retrieving luminus/lein-template/0.2.8/lein-template-0.2.8.pom from clojars
Retrieving luminus/lein-template/0.2.9/lein-template-0.2.9.pom from clojars
Retrieving luminus/lein-template/0.3.0/lein-template-0.3.0.pom from clojars
Retrieving luminus/lein-template/0.3.1/lein-template-0.3.1.pom from clojars
Retrieving luminus/lein-template/0.3.2/lein-template-0.3.2.pom from clojars
Retrieving luminus/lein-template/0.3.3/lein-template-0.3.3.pom from clojars
Retrieving luminus/lein-template/0.3.4/lein-template-0.3.4.pom from clojars
Retrieving luminus/lein-template/0.3.5/lein-template-0.3.5.pom from clojars
Retrieving luminus/lein-template/0.3.6/lein-template-0.3.6.pom from clojars
Retrieving luminus/lein-template/0.3.7/lein-template-0.3.7.pom from clojars
Retrieving luminus/lein-template/0.3.8/lein-template-0.3.8.pom from clojars
Retrieving luminus/lein-template/0.3.9/lein-template-0.3.9.pom from clojars
Retrieving luminus/lein-template/0.4.0/lein-template-0.4.0.pom from clojars
Retrieving luminus/lein-template/0.4.1/lein-template-0.4.1.pom from clojars
Retrieving luminus/lein-template/0.4.2/lein-template-0.4.2.pom from clojars
Retrieving luminus/lein-template/0.4.3/lein-template-0.4.3.pom from clojars
Retrieving luminus/lein-template/0.4.4/lein-template-0.4.4.pom from clojars
Retrieving luminus/lein-template/0.4.5/lein-template-0.4.5.pom from clojars
Retrieving luminus/lein-template/0.4.6/lein-template-0.4.6.pom from clojars
Retrieving luminus/lein-template/0.5.0/lein-template-0.5.0.pom from clojars
Retrieving luminus/lein-template/0.5.1/lein-template-0.5.1.pom from clojars
Retrieving luminus/lein-template/0.5.2/lein-template-0.5.2.pom from clojars
Retrieving luminus/lein-template/0.5.3/lein-template-0.5.3.pom from clojars
Retrieving thneed/thneed/1.0.0-SNAPSHOT/thneed-1.0.0-20120330.013054-1.jar from clojars
Retrieving luminus/lein-template/0.5.3/lein-template-0.5.3.jar from clojars
Retrieving leinjacker/leinjacker/0.2.0/leinjacker-0.2.0.jar from clojars
Retrieving trammel/trammel/0.7.0/trammel-0.7.0.jar from clojars
Generating a lovely new Luminus project named simplex-clj...
I think duplicated user ID validation is necessary here :)
Running with template based on latest luminus-template repo installed locally.
When doing lein cljsbuild, you get the following warnings
WARNING: Use of undeclared Var cljs.core.async/do-alts at line 62 file:/home/tcross/.m2/repository/org/clojure/core.async/0.1.303.0-886421-alpha/core.async-0.1.303.0-886421-alpha.jar!/cljs/core/async/impl/ioc_helpers.cljs
WARNING: Bad method signature in protocol implementation, impl/Handler does not declare method called lock-id at line 214 file:/home/tcross/.m2/repository/org/clojure/core.async/0.1.303.0-886421-alpha/core.async-0.1.303.0-886421-alpha.jar!/cljs/core/async.cljs
WARNING: Use of undeclared Var cljs.core.async.impl.protocols/lock-id at line 217 file:/home/tcross/.m2/repository/org/clojure/core.async/0.1.303.0-886421-alpha/core.async-0.1.303.0-886421-alpha.jar!/cljs/core/async.cljs
WARNING: Bad method signature in protocol implementation, impl/Handler does not declare method called lock-id at line 214 resources/public/js/out/cljs/core/async.cljs
WARNING: Use of undeclared Var cljs.core.async.impl.protocols/lock-id at line 217 resources/public/js/out/cljs/core/async.cljs
It seems (guess) that one of the dependencies is pulling in an older version of core.async. Adding
[org.clojure/core.async "0.1.346.0-17112a-alpha"]
to project.clj dependencies seems to fix this.
$ > lein new luminus PROJECTNAME
$ > cd PROJECTNAME
$ > lein ring server
Exception in thread "main" java.io.FileNotFoundException: Could not locate PROJECTNAME/net/handler__init.class or PROJECTNAME/net/handler.clj on classpath: , compiling:(/tmp/form-init6203321364378798674.clj:1:90)
at clojure.lang.Compiler.load(Compiler.java:7142)
at clojure.lang.Compiler.loadFile(Compiler.java:7086)
at clojure.main$load_script.invoke(main.clj:274)
at clojure.main$init_opt.invoke(main.clj:279)
at clojure.main$initialize.invoke(main.clj:307)
at clojure.main$null_opt.invoke(main.clj:342)
at clojure.main$main.doInvoke(main.clj:420)
at clojure.lang.RestFn.invoke(RestFn.java:421)
at clojure.lang.Var.invoke(Var.java:383)
at clojure.lang.AFn.applyToHelper(AFn.java:156)
at clojure.lang.Var.applyTo(Var.java:700)
at clojure.main.main(main.java:37)
Caused by: java.io.FileNotFoundException: Could not locate PROJECTNAME/net/handler__init.class or PROJECTNAME/net/handler.clj on classpath:
at clojure.lang.RT.load(RT.java:443)
at clojure.lang.RT.load(RT.java:411)
at clojure.core$load$fn__5066.invoke(core.clj:5641)
at clojure.core$load.doInvoke(core.clj:5640)
at clojure.lang.RestFn.invoke(RestFn.java:408)
at clojure.core$load_one.invoke(core.clj:5446)
at clojure.core$load_lib$fn__5015.invoke(core.clj:5486)
at clojure.core$load_lib.doInvoke(core.clj:5485)
at clojure.lang.RestFn.applyTo(RestFn.java:142)
at clojure.core$apply.invoke(core.clj:626)
at clojure.core$load_libs.doInvoke(core.clj:5524)
at clojure.lang.RestFn.applyTo(RestFn.java:137)
at clojure.core$apply.invoke(core.clj:626)
at clojure.core$require.doInvoke(core.clj:5607)
at clojure.lang.RestFn.invoke(RestFn.java:457)
at user$eval5.invoke(form-init6203321364378798674.clj:1)
at clojure.lang.Compiler.eval(Compiler.java:6703)
at clojure.lang.Compiler.eval(Compiler.java:6692)
at clojure.lang.Compiler.load(Compiler.java:7130)
... 11 more
Subprocess failed
It'd be really nice to have a +friend option, every time I start a luminus project the first thing I always end up doing is adding friend anyways!
I'm sure a lot of others would love this as well :)
Hi @yogthos, while I was working on +static, I noticed that +site might have an issue on this line:
https://github.com/yogthos/luminus-template/blob/master/src/leiningen/new/luminus.clj#L169
I think there was a (if-let ...)
expression added to layout.clj and the regex here maybe needs to be updated? In addition, I also added a try/catch for +static to layout.clj that might need to be included in the regex here as well. I haven't needed +site yet, but if/when I have time to test it out, I'll look deeper.
Created a fresh luminus project with profiles +postgres +cljs +http-kit +site
There is an error at login page, mentioned as the title of the issue.
When creating a new luminus project with the options lein new luminus foosite +cljs +site +http-kit
I'm seeing 3 duplicated entries in the project.cljs
file under the :dependencies
key:
[com.h2database/h2 "1.3.173"]
[korma "0.3.0-RC6"]
[log4j
"1.2.17"
:exclusions
[javax.mail/mail
javax.jms/jms
com.sun.jdmk/jmxtools
com.sun.jmx/jmxri]]
[com.h2database/h2 "1.3.173"]
[korma "0.3.0-RC6"]
[log4j
"1.2.17"
:exclusions
[javax.mail/mail
javax.jms/jms
com.sun.jdmk/jmxtools
com.sun.jmx/jmxri]]
[http-kit "2.1.11"]
[Niko@Modrzyks-MacBook-Pro][17:05] % lein new luminus test_3
Generating a lovely new Luminus project named test_3...
java.io.FileNotFoundException: test_3/project.clj (No such file or directory)
I am on the most recent lein:
[Niko@Modrzyks-MacBook-Pro][17:05] % lein version
Leiningen 2.1.3 on Java 1.8.0-ea Java HotSpot(TM) 64-Bit Server VM
Hello, I generated a fresh project from this template and it seems to be born with dependency troubles.
I get no errors during generation:
$ lein new luminus example
Generating a lovely new Luminus project named example...
But when I try to start the server, I get the following:
$ cd example/
$ lein ring server-headless
Failing dependency resolution because:
[ring/ring-devel "1.1.0"]
is overrulling
[ring-server "0.2.5"] -> [ring "1.1.4"] -> [ring/ring-devel "1.1.4"]
Please use [ring-server "0.2.5" :exclusions [ring/ring-devel]] to get [ring/ring-devel "1.1.0"] or remove [ring/ring-devel "1.1.0"] to get [ring/ring-devel "1.1.4"].
[ring/ring-devel "1.1.0"]
is overrulling
[ring-server "0.2.5"] -> [ring "1.1.4"] -> [ring/ring-devel "1.1.4"]
Please use [ring-server "0.2.5" :exclusions [ring/ring-devel]] to get [ring/ring-devel "1.1.0"] or remove [ring/ring-devel "1.1.0"] to get [ring/ring-devel "1.1.4"].
[ring/ring-devel "1.1.0"]
is overrulling
[lib-noir "0.3.5"] -> [ring "1.1.1"] -> [ring/ring-devel "1.1.1"]
Please use [lib-noir "0.3.5" :exclusions [ring/ring-devel]] to get [ring/ring-devel "1.1.0"] or remove [ring/ring-devel "1.1.0"] to get [ring/ring-devel "1.1.1"].
[compojure "1.1.3"] -> [org.clojure/tools.macro "0.1.0"]
is overrulling
[com.taoensso/timbre "1.2.0"] -> [org.clojure/tools.macro "0.1.1"]
Please use [compojure "1.1.3" :exclusions [org.clojure/tools.macro]] to get [org.clojure/tools.macro "0.1.1"] or use [com.taoensso/timbre "1.2.0" :exclusions [org.clojure/tools.macro]] to get [org.clojure/tools.macro "0.1.0"].
[compojure "1.1.3"] -> [org.clojure/tools.macro "0.1.0"]
is overrulling
[com.taoensso/tower "1.2.0"] -> [org.clojure/tools.macro "0.1.1"]
Please use [compojure "1.1.3" :exclusions [org.clojure/tools.macro]] to get [org.clojure/tools.macro "0.1.1"] or use [com.taoensso/tower "1.2.0" :exclusions [org.clojure/tools.macro]] to get [org.clojure/tools.macro "0.1.0"].```
My leiningen should be up to date:
$ lein --version
Leiningen 2.0.0 on Java 1.6.0_31 Java HotSpot(TM) 64-Bit Server VM
I was able to work around it by bumping some version numbers and adding an exclusion:
[compojure "1.1.5"
:exclusions [org.clojure/tools.macro]]
# and this is in the :dev profile's deps
[ring/ring-devel "1.1.4"]
But this is a crufty hack, and I have no idea how sound the resulting program is. It seems to serve the example pages fine, though.
With the command lein new luminus mysite +cljs +site +dailycred +http-kit
there's a java.lang.Exception: unrecognized feature: +dailycred
thrown with a long stacktrace.
And with the command lein new luminus mysite +cljs +site-dailycred +http-kit
there's a calmer error message of simply Unrecognized options: +site-dailycred
Looking in src/leiningen/new/luminus.clj
I'm not sure why either option causes problems, they're both in the file...
On the latest version of lein / luminus etc, on MacOSX, this occurs:
Nosy:Code stefand$ lein new luminus defaultluminustest
Generating a lovely new Luminus project named defaultluminustest...
Nosy:Code stefand$ cd defaultluminustest/
Nosy:defaultluminustest stefand$ lein repl
nREPL server started on port 63890
REPL-y 0.2.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)
user=> (use 'defaultluminustest.repl)
nil
user=> (start-server)
2013-Jul-24 09:58:55 +1200 Nosy.local INFO [defaultluminustest.handler] - defaultluminustest started successfully
2013-07-24 09:58:55.853:INFO:oejs.Server:jetty-7.6.1.v20120215
2013-07-24 09:58:55.898:INFO:oejs.AbstractConnector:Started [email protected]:8080
Started server on port 8080
^-- this never finishes. The server starts and works, but because it never finishes, even if I ctrl+c to get back REPL control the server never gets put into the server atom so you can't stop it. I pulled down https://github.com/yogthos/luminus and that one does work, so something has changed. I thought it might be the lib-noir version (0.6.6 vs 0.6.4) but changing it didn't seem to help.
Maybe this is a newbie mistake, but I get errors if I do the following:
lein new luminus myapp
cd myapp
lein test
Specifically the HTML fixture embedded in the default test doesn't seem to match the actual homepage of the boilerplate site.
What do you think about to add https://github.com/magnars/prone to Luminus?
Thanks, Ed.
Attempting to add
[cemerick.friend :as friend](cemerick.friend [workflows :as workflows]
[credentials :as creds])
to my luminus handler namespace causes the compiler to complain (snipped)
... namespace 'clojure.core.memoize' not found ...
Googling then adding the solution found at this LightTable issue fixes it:
LightTable/LightTable#794
(The workaround is to add
[org.clojure/core.cache "0.6.3"]
[org.clojure/core.memoize "0.5.6" :exclusions [org.clojure/core.cache]]
to the project.clj dependencies).
The bootstrap fonts included with the template are broken. I believe it's due to this:
Replacing the corrupted fonts from a fresh download of bootstrap fixes it.
In the Luminus template, two handler test examples are included, at the generated file my_luminus_project/test/my_luminus_project/test/handler.clj
and both use :get
requests.
It would be useful to include a test example using :post
as that would show how to mock (or bypass) the ring.middleware.anti-forgery
token within a test.
BTW, I could've sworn anti-forgery tokens were active by default in earlier versions of Luminus, but I see it's turned off in the current luminus-template middleware file; any reasons why? Seems like an important default security measure.
Thanks in advance for any comments/help!
This is probably something stupid, so i apologize ahead of time...
Using oracle java 1.7.0_55
I ran lein new luminus myapp
i then cd'd to the myapp subdirectory and ran lein ring server
it gave me the following:
java.util.zip.ZipException: zip file is empty
at java.util.zip.ZipFile.open(Native Method)
at java.util.zip.ZipFile.(ZipFile.java:215)
at java.util.zip.ZipFile.(ZipFile.java:145)
at java.util.jar.JarFile.(JarFile.java:153)
at java.util.jar.JarFile.(JarFile.java:117)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
at clojure.lang.Reflector.invokeConstructor(Reflector.java:180)
at leiningen.core.classpath$extract_native_deps.invoke(classpath.clj:43)
at clojure.lang.AFn.applyToHelper(AFn.java:167)
at clojure.lang.AFn.applyTo(AFn.java:151)
at clojure.core$apply.invoke(core.clj:617)
at leiningen.core.classpath$when_stale.doInvoke(classpath.clj:66)
at clojure.lang.RestFn.invoke(RestFn.java:580)
at leiningen.core.classpath$resolve_dependencies.doInvoke(classpath.clj:231)
at clojure.lang.RestFn.invoke(RestFn.java:425)
at leiningen.core.classpath$get_classpath.invoke(classpath.clj:274)
at leiningen.ring.server$classpath_dirs.invoke(server.clj:13)
at leiningen.ring.server$reload_paths.invoke(server.clj:27)
at leiningen.ring.server$server_task.invoke(server.clj:61)
at leiningen.ring.server$server.invoke(server.clj:78)
at clojure.lang.AFn.applyToHelper(AFn.java:161)
at clojure.lang.AFn.applyTo(AFn.java:151)
at clojure.core$apply.invoke(core.clj:619)
at leiningen.ring$ring.doInvoke(ring.clj:23)
at clojure.lang.RestFn.invoke(RestFn.java:425)
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.core$apply.invoke(core.clj:619)
at leiningen.core.main$resolve_task$fn__2171.doInvoke(main.clj:149)
at clojure.lang.RestFn.applyTo(RestFn.java:139)
at clojure.lang.AFunction$1.doInvoke(AFunction.java:29)
at clojure.lang.RestFn.applyTo(RestFn.java:137)
at clojure.core$apply.invoke(core.clj:619)
at leiningen.core.main$apply_task.invoke(main.clj:189)
at lein_environ.plugin$write_env_to_file.invoke(plugin.clj:11)
at clojure.lang.Var.invoke(Var.java:427)
at clojure.lang.AFn.applyToHelper(AFn.java:172)
at clojure.lang.Var.applyTo(Var.java:532)
at clojure.core$apply.invoke(core.clj:619)
at robert.hooke$compose_hooks$fn__29.doInvoke(hooke.clj:40)
at clojure.lang.RestFn.applyTo(RestFn.java:137)
at clojure.core$apply.invoke(core.clj:617)
at robert.hooke$run_hooks.invoke(hooke.clj:46)
at robert.hooke$prepare_for_hooks$fn__34$fn__35.doInvoke(hooke.clj:54)
at clojure.lang.RestFn.applyTo(RestFn.java:137)
at clojure.lang.AFunction$1.doInvoke(AFunction.java:29)
at clojure.lang.RestFn.invoke(RestFn.java:436)
at leiningen.core.main$_main$fn__2232.invoke(main.clj:253)
at leiningen.core.main$_main.doInvoke(main.clj:243)
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.core$apply.invoke(core.clj:617)
at clojure.main$main_opt.invoke(main.clj:335)
at clojure.main$main.doInvoke(main.clj:440)
at clojure.lang.RestFn.invoke(RestFn.java:457)
at clojure.lang.Var.invoke(Var.java:427)
at clojure.lang.AFn.applyToHelper(AFn.java:172)
at clojure.lang.Var.applyTo(Var.java:532)
at clojure.main.main(main.java:37)
...please help...thanks!
Luiminus application depends on Clojure version 1.3.0:
$ lein new luminus myapp
Retrieving luminus/lein-template/1.17.9/lein-template-1.17.9.pom from clojars
Retrieving leinjacker/leinjacker/0.2.0/leinjacker-0.2.0.pom from clojars
Retrieving trammel/trammel/0.7.0/trammel-0.7.0.pom from clojars
Retrieving thneed/thneed/1.0.0-SNAPSHOT/thneed-1.0.0-20120330.013054-1.pom from clojars
Retrieving thneed/thneed/1.0.0-SNAPSHOT/thneed-1.0.0-20120330.013054-1.jar from clojars
Retrieving luminus/lein-template/1.17.9/lein-template-1.17.9.jar from clojars
Retrieving org/clojure/clojure/1.3.0/clojure-1.3.0.jar from central <--- seems too old in 2015 :(
This is so 2012-ish, I think 😭
Since the template inserts bits of itself into my app, does this make my app fall under the luminus-template
copyright and the EPL? Or am I free to release apps started with the template under any license I please?
I ask because I'm planning to open-source a little thing I made, and not sure what to put in the License section of the readme. I usually MIT-license my own stuff.
$ ~/code » lein new luminus never-skip +auth +mongodb +cljs
Retrieving luminus/lein-template/2.0.3/lein-template-2.0.3.pom from clojars
Retrieving luminus/lein-template/2.0.3/lein-template-2.0.3.jar from clojars
Generating a Leiningen project.
$ ~/code » cd never-skip
$ code/never-skip » ls
Procfile README.md env project.clj resources src src-cljs test
code/never-skip » ls src
never_skip {{sanitized}}
$ code/never-skip » tree src/\{\{sanitized\}\}
src/{{sanitized}}
└── db
└── core.clj
Some files are suffering from:
No matter what I have tried (see: http://stackoverflow.com/questions/27210818/configuring-mongodb-in-a-clojure-luminus-web-framework) I cannot get MongoDB configured to work inside a Luminus Webapp.
Is this an issue? Has MongoDB support been tested, or I am missing something obvious?
Thank you for your help.
You are too casual.Version update too frequently.
I've created project from template and tried to add some REST API method.:
(defroutes home-routes
(GET "/tags" [] (db/find-tags-info)))
Method (db/find-tags-info) works fine and was tested.
During processing response I have an exceptions:
java.lang.IllegalArgumentException: Key must be integer
APersistentVector.java:265 clojure.lang.APersistentVector.invoke
response.clj:27 compojure.response/eval1340[fn]
response.clj:10 compojure.response/eval1301[fn]
core.clj:94 compojure.core/make-route[fn]
core.clj:40 compojure.core/if-route[fn]
core.clj:25 compojure.core/if-method[fn]
core.clj:107 compojure.core/routing[fn]
core.clj:2443 clojure.core/some
core.clj:107 compojure.core/routing
RestFn.java:139 clojure.lang.RestFn.applyTo
core.clj:619 clojure.core/apply
core.clj:112 compojure.core/routes[fn]
core.clj:107 compojure.core/routing[fn]
core.clj:2443 clojure.core/some
core.clj:107 compojure.core/routing
RestFn.java:139 clojure.lang.RestFn.applyTo
core.clj:619 clojure.core/apply
core.clj:112 compojure.core/routes[fn]
middleware.clj:44 noir.util.middleware/wrap-request-map[fn]
keyword_params.clj:32 ring.middleware.keyword-params/wrap-keyword-params[fn]
nested_params.clj:70 ring.middleware.nested-params/wrap-nested-params[fn]
params.clj:58 ring.middleware.params/wrap-params[fn]
middleware.clj:12 hiccup.middleware/wrap-base-url[fn]
format_params.clj:98 ring.middleware.format-params/wrap-format-params[fn]
format_params.clj:98 ring.middleware.format-params/wrap-format-params[fn]
format_response.clj:113 ring.middleware.format-response/wrap-format-response[fn]
multipart_params.clj:107 ring.middleware.multipart-params/wrap-multipart-params[fn]
validation.clj:140 noir.validation/wrap-noir-validation[fn]
cookies.clj:72 noir.cookies/noir-cookies[fn]
cookies.clj:171 ring.middleware.cookies/wrap-cookies[fn]
session.clj:142 noir.session/noir-flash[fn]
flash.clj:31 ring.middleware.flash/wrap-flash[fn]
session.clj:97 noir.session/noir-session[fn]
session.clj:85 ring.middleware.session/wrap-session[fn]
Var.java:415 clojure.lang.Var.invoke
reload.clj:18 ring.middleware.reload/wrap-reload[fn]
stacktrace.clj:17 ring.middleware.stacktrace/wrap-stacktrace-log[fn]
stacktrace.clj:80 ring.middleware.stacktrace/wrap-stacktrace-web[fn]
jetty.clj:18 ring.adapter.jetty/proxy-handler[fn]
(Unknown Source) ring.adapter.jetty.proxy$org.eclipse.jetty.server.handler.AbstractHandler$0.handle
HandlerWrapper.java:116 org.eclipse.jetty.server.handler.HandlerWrapper.handle
Server.java:363 org.eclipse.jetty.server.Server.handle
AbstractHttpConnection.java:483 org.eclipse.jetty.server.AbstractHttpConnection.handleRequest
AbstractHttpConnection.java:920 org.eclipse.jetty.server.AbstractHttpConnection.headerComplete
AbstractHttpConnection.java:982 org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.headerComplete
HttpParser.java:635 org.eclipse.jetty.http.HttpParser.parseNext
HttpParser.java:235 org.eclipse.jetty.http.HttpParser.parseAvailable
AsyncHttpConnection.java:82 org.eclipse.jetty.server.AsyncHttpConnection.handle
SelectChannelEndPoint.java:628 org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle
SelectChannelEndPoint.java:52 org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run
QueuedThreadPool.java:608 org.eclipse.jetty.util.thread.QueuedThreadPool.runJob
QueuedThreadPool.java:543 org.eclipse.jetty.util.thread.QueuedThreadPool$3.run
Thread.java:744 java.lang.Thread.run
But it works fine, if I wrap response using noir.response "json" method:
(defroutes home-routes
(GET "/tags" [] (response/json (db/find-tags-info))))
I have the following App configuration:
(def app
(middleware/app-handler
;; add your application routes here
[home-routes app-routes]
;; add custom middleware here
:middleware []
;; add access rules here
:access-rules []
;; serialize/deserialize the following data formats
;; available formats:
;; :json :json-kw :yaml :yaml-kw :edn :yaml-in-html
:formats [:json-kw :edn]))
Could you please help me? I thought it should work out of box (:formats [:json-kw :edn])
Hi!
I have vanilla OS X Yosemite.
I ran the following commands:
$ brew install leiningen
$ lein new luminus my-app +cljs +h2
$ lein cljsbuild auto
I encountered an error:
Caused by: java.util.regex.PatternSyntaxException: Unknown inline modifier near index 2
(?U)^[\p{Alpha}_$]
^
What is the cause of this error?
Wouldn't it be better to define a main method explicitly instead of relying on lein-ring to implicitly inject it?
First reason is "explicit is better than implicit" and all that. Second reason is it seems with leiningen 2.5.0 there has been an issue with lein ring uberjar
weavejester/lein-ring#126.
For the mean time, I've added this to my project:
(ns myproject.core
(:require [myproject.repl :refer [start-server]])
(:gen-class))
(defn -main []
(start-server))
Is this correct? Or is start-server
not recommended for production?
Hi,
I read your blog post at:
http://yogthos.net/blog/41-New+Templating+Engine+in+Luminus
and it said that hiccup was still supported by supplying a +hiccup option to the template. However, the template complains that +hiccup is not a supported option. What do I have to do to get hiccup support?
Thanks!
Kent.
There's a very irritating "feature" of Heroku that insists that an app launches within 60 seconds. The web is littered with reports of people getting bitten in the ass by the constraint.
Turns out that by creating a brand spanking new empty Luminus project with something like lein new luminus my-svelte-app
and deploying directly to Heroku a minute later it triggers this same error and the app crashes (abridged logs below).
I've attempted to cut off some of the dependencies but am struggling (read: failing) I was hoping you might be able to offer some guidance on how to create a 'lite' default version to build upon?
2015-03-04T21:14:28.391097+00:00 heroku[api]: Deploy d43f966 by [email protected]
2015-03-04T21:14:28.391097+00:00 heroku[api]: Release v5 created by [email protected]
2015-03-04T21:14:28.862448+00:00 heroku[web.1]: State changed from crashed to starting
2015-03-04T21:14:37.187600+00:00 heroku[web.1]: Starting process with command `lein with-profile production trampoline ring server`
2015-03-04T21:14:38.579568+00:00 app[web.1]: Downloading Leiningen to .lein/leiningen-2.5.1-standalone.jar now...
2015-03-04T21:14:40.787587+00:00 app[web.1]: Picked up JAVA_TOOL_OPTIONS: -Xmx384m -Xss512k -Dfile.encoding=UTF-8 -Djava.rmi.server.useCodebaseOnly=true
2015-03-04T21:14:44.021821+00:00 app[web.1]: Retrieving lein-ring/lein-ring/0.9.1/lein-ring-0.9.1.pom from clojars
2015-03-04T21:14:44.268971+00:00 app[web.1]: Retrieving org/clojure/pom.contrib/0.1.2/pom.contrib-0.1.2.pom from central
2015-03-04T21:14:44.368118+00:00 app[web.1]: Retrieving org/clojure/clojure/1.4.0/clojure-1.4.0.pom from central
2015-03-04T21:14:44.567309+00:00 app[web.1]: Retrieving leinjacker/leinjacker/0.4.2/leinjacker-0.4.2.pom from clojars
2015-03-04T21:14:44.230421+00:00 app[web.1]: Retrieving org/clojure/data.xml/0.0.8/data.xml-0.0.8.pom from central
2015-03-04T21:14:44.319768+00:00 app[web.1]: Retrieving org/sonatype/oss/oss-parent/7/oss-parent-7.pom from central
2015-03-04T21:14:44.406838+00:00 app[web.1]: Retrieving org/sonatype/oss/oss-parent/5/oss-parent-5.pom from central
2015-03-04T21:14:44.730075+00:00 app[web.1]: Retrieving org/clojure/core.contracts/0.0.1/core.contracts-0.0.1.pom from central
2015-03-04T21:14:44.814063+00:00 app[web.1]: Retrieving org/clojure/core.unify/0.5.3/core.unify-0.5.3.pom from central
2015-03-04T21:14:44.763469+00:00 app[web.1]: Retrieving org/clojure/pom.contrib/0.0.26/pom.contrib-0.0.26.pom from central
2015-03-04T21:14:44.966550+00:00 app[web.1]: Retrieving lein-environ/lein-environ/1.0.0/lein-environ-1.0.0.pom from clojars
2015-03-04T21:14:45.240801+00:00 app[web.1]: Retrieving lein-ancient/lein-ancient/0.6.0/lein-ancient-0.6.0.pom from clojars
2015-03-04T21:14:45.524140+00:00 app[web.1]: Retrieving rewrite-clj/rewrite-clj/0.4.4/rewrite-clj-0.4.4.pom from clojars
.... snip ...
2015-03-04T21:16:46.029781+00:00 app[web.1]: Retrieving riddley/riddley/0.1.7/riddley-0.1.7.jar from clojars
2015-03-04T21:16:46.029618+00:00 app[web.1]: Retrieving clj-tuple/clj-tuple/0.1.7/clj-tuple-0.1.7.jar from clojars
2015-03-04T21:16:50.451538+00:00 heroku[web.1]: Error R10 (Boot timeout) -> Web process failed to bind to $PORT within 60 seconds of launch
2015-03-04T21:16:50.451538+00:00 heroku[web.1]: Stopping process with SIGKILL
2015-03-04T21:16:51.439114+00:00 heroku[web.1]: Process exited with status 137
2015-03-04T21:16:51.444494+00:00 heroku[web.1]: State changed from starting to crashed
Very confused ,Why should such a design?
After deploying to wildfly, the root path "localhost:8080/app/" results in downloading of an empty file instead of loading the page. The steps followed are given below.
I created a new project by:
lein new luminus app +immutant
Created immutant war by:
lein immutant war
Copied this war file to wildfly/standalone/deloyments and ran wildfly.
The path http://localhost:8080/app/ prompts to download a bin file named download instead of showing the page. This issue is only with the root path and all other paths seems to be working.
What did I miss?
Where to look for the proper deployment documents in case the above steps are not correct?
Thank you.
I had an issue after creating a project using the following command: lein new luminus myproject
. When compiling I received the following exception:
Compiling myproject.views.layout
Exception in thread "main" java.lang.ClassNotFoundException: compojure.response.Renderable, compiling:(layout.clj:1:1)
at clojure.lang.Compiler$InvokeExpr.eval(Compiler.java:3463)
at clojure.lang.Compiler.compile1(Compiler.java:7153)
at clojure.lang.Compiler.compile1(Compiler.java:7143)
at clojure.lang.Compiler.compile(Compiler.java:7219)
at clojure.lang.RT.compile(RT.java:398)
It worked fine pushing the default template project to Heroku so it's likely something with my set up:
$ lein version
Leiningen 2.3.2 on Java 1.7.0_25 OpenJDK 64-Bit Server VM
If I replace:
(:import compojure.response.Renderable)
with:
(:require
....
[compojure.response :refer [Renderable]])
it works as expected.
When generating the Bootstrap navbar HTML, Bootstrap requires an inner navbar-inner element, especially with navbar-inverse since that's where the background color is applied.
<div class="navbar">
<div class="navbar-inner">
<ul class="nav">
…
</ul>
</div>
</div>
(defn header []
[:div.navbar.navbar-fixed-top.navbar-inverse
- [:ul.nav
- [:li (link-to "/" "Home")]
- [:li (link-to "/about" "About")]]])
+ [:div.navbar-inner
+ [:ul.nav
+ [:li (link-to "/" "Home")]
+ [:li (link-to "/about" "About")]]]])
When you create a project with +http-kit
profile, it does not show the port number like it does for default profile.
For example:
$ lein run -dev
2014-Aug-20 13:45:45 +0100 mc-s071031.local INFO [app-name.core] - server started on port #<core$port app-name.core$port@2119b989>
Also when I create a project using default profile and I run lein ring serve
it loads the application and my default browser is opened will the application url.
It would be really nice if the +http-kit
template provide the same user experience as default.
https://github.com/yogthos/luminus-template/blob/master/src/leiningen/new/luminus.clj#L115
I was getting this error when running lein ragtime migrate
:
java.sql.SQLException: No suitable driver found for jdbc:postgresql://localhost/db
Changing the dependency from org.postgresql/postgresql "9.3-1100-jdbc41"
to org.postgresql/postgresql "9.3-1102-jdbc4"
fixed my issue. Is it possible that the 1 at the end was a typo?
Version 1.0.5 of cljsbuild has depricated lein cljsbuild clean and recommends adding the location of the js files to clean-targets so that you can clean compiled js files with 'lein clean'. While the luminus-templates are still using cljsbuild 1.0.4, when you run lein ancient to identify newer libraries, it will list cljsbuild. Therefore, it is possible users will upgrade cljsbuild and then will see the deprication notice and may not know how to clean out old js files easily. I found adding
:clean-targets ^{:protect false} ["resources/public/js"]
to project.clj seems to work
join
should be join?
here https://github.com/yogthos/luminus-template/blob/master/src/leiningen/new/luminus/repl.clj#L29 according to ring-server readme
https://github.com/weavejester/ring-server
btw join?
and auto-reload?
both are true
by default
Just a heads up.
Exception in thread "main" java.lang.IllegalArgumentException: No value supplied for key: {:formats (:json-kw :yaml-kw :edn :transit-json :transit-msgpack), :handle-error #<middleware$handle_req_error compojure.api.middleware$handle_req_error@7db8da6c>}, compiling:(services.clj:12:1)
at clojure.lang.Compiler$InvokeExpr.eval(Compiler.java:3558)
at clojure.lang.Compiler$InvokeExpr.eval(Compiler.java:3552)
at clojure.lang.Compiler$DefExpr.eval(Compiler.java:417)
at clojure.lang.Compiler.eval(Compiler.java:6708)
at clojure.lang.Compiler.load(Compiler.java:7130)
at clojure.lang.RT.loadResourceScript(RT.java:370)
at clojure.lang.RT.loadResourceScript(RT.java:361)
at clojure.lang.RT.load(RT.java:440)
at clojure.lang.RT.load(RT.java:411)
at clojure.core$load$fn__5066.invoke(core.clj:5641)
at clojure.core$load.doInvoke(core.clj:5640)
at clojure.lang.RestFn.invoke(RestFn.java:408)
at clojure.core$load_one.invoke(core.clj:5446)
at clojure.core$load_lib$fn__5015.invoke(core.clj:5486)
at clojure.core$load_lib.doInvoke(core.clj:5485)
at clojure.lang.RestFn.applyTo(RestFn.java:142)
at clojure.core$apply.invoke(core.clj:626)
at clojure.core$load_libs.doInvoke(core.clj:5524)
at clojure.lang.RestFn.applyTo(RestFn.java:137)
at clojure.core$apply.invoke(core.clj:626)
at clojure.core$require.doInvoke(core.clj:5607)
at clojure.lang.RestFn.invoke(RestFn.java:930)
at wtzzz.handler$eval3353$loading__4958__auto____3354.invoke(handler.clj:1)
at wtzzz.handler$eval3353.invoke(handler.clj:1)
at clojure.lang.Compiler.eval(Compiler.java:6703)
at clojure.lang.Compiler.eval(Compiler.java:6692)
at clojure.lang.Compiler.load(Compiler.java:7130)
at clojure.lang.RT.loadResourceScript(RT.java:370)
at clojure.lang.RT.loadResourceScript(RT.java:361)
at clojure.lang.RT.load(RT.java:440)
at clojure.lang.RT.load(RT.java:411)
at clojure.core$load$fn__5066.invoke(core.clj:5641)
at clojure.core$load.doInvoke(core.clj:5640)
at clojure.lang.RestFn.invoke(RestFn.java:408)
at clojure.core$load_one.invoke(core.clj:5446)
at clojure.core$load_lib$fn__5015.invoke(core.clj:5486)
at clojure.core$load_lib.doInvoke(core.clj:5485)
at clojure.lang.RestFn.applyTo(RestFn.java:142)
at clojure.core$apply.invoke(core.clj:626)
at clojure.core$load_libs.doInvoke(core.clj:5524)
at clojure.lang.RestFn.applyTo(RestFn.java:137)
at clojure.core$apply.invoke(core.clj:626)
at clojure.core$require.doInvoke(core.clj:5607)
at clojure.lang.RestFn.invoke(RestFn.java:457)
at user$eval5.invoke(form-init1625203686011494445.clj:1)
at clojure.lang.Compiler.eval(Compiler.java:6703)
at clojure.lang.Compiler.eval(Compiler.java:6692)
at clojure.lang.Compiler.load(Compiler.java:7130)
at clojure.lang.Compiler.loadFile(Compiler.java:7086)
at clojure.main$load_script.invoke(main.clj:274)
at clojure.main$init_opt.invoke(main.clj:279)
at clojure.main$initialize.invoke(main.clj:307)
at clojure.main$null_opt.invoke(main.clj:342)
at clojure.main$main.doInvoke(main.clj:420)
at clojure.lang.RestFn.invoke(RestFn.java:421)
at clojure.lang.Var.invoke(Var.java:383)
at clojure.lang.AFn.applyToHelper(AFn.java:156)
at clojure.lang.Var.applyTo(Var.java:700)
at clojure.main.main(main.java:37)
Caused by: java.lang.IllegalArgumentException: No value supplied for key: {:formats (:json-kw :yaml-kw :edn :transit-json :transit-msgpack), :handle-error #<middleware$handle_req_error compojure.api.middleware$handle_req_error@7db8da6c>}
at clojure.lang.PersistentHashMap.create(PersistentHashMap.java:77)
at ring.middleware.format_params$wrap_restful_params.doInvoke(format_params.clj:251)
at clojure.lang.RestFn.invoke(RestFn.java:423)
at compojure.api.middleware$api_middleware.doInvoke(middleware.clj:140)
at clojure.lang.RestFn.applyTo(RestFn.java:139)
at clojure.lang.Compiler$InvokeExpr.eval(Compiler.java:3553)
... 58 more
Subprocess failed
With the 2.3.9 template, I had to add [com.cemerick/piggieback "0.2.1"]
to :dev :dependencies to get {{projectname}}.dev/browser-repl
working correctly.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.