我已按照 Windows 上的Leinigen 安装说明进行操作(c:\leinigen\
在我的路径中,即在哪里lein.bat
)。我现在正在尝试使用lein-cooper但这给了我以下错误:
java.io.IOException: Cannot run program "lein": CreateProcess error=2, The system cannot find the file specified
at java.lang.ProcessBuilder.start (:-1)
me.raynes.conch.low_level$proc.invokeStatic (low_level.clj:33)
me.raynes.conch.low_level$proc.doInvoke (low_level.clj:7)
clojure.lang.RestFn.applyTo (RestFn.java:137)
clojure.core$apply.invokeStatic (core.clj:646)
clojure.core$apply.invoke (core.clj:641)
leiningen.cooper$get_procs_from_project$iter__657__661$fn__662.invoke (cooper.clj:61)
clojure.lang.LazySeq.sval (LazySeq.java:40)
clojure.lang.LazySeq.seq (LazySeq.java:49)
clojure.lang.RT.seq (RT.java:521)
clojure.core$seq__4357.invokeStatic (core.clj:137)
clojure.core$dorun.invokeStatic (core.clj:3024)
clojure.core$doall.invokeStatic (core.clj:3039)
clojure.core$doall.invoke (core.clj:3039)
leiningen.cooper$get_procs_from_project.invokeStatic (cooper.clj:59)
leiningen.cooper$get_procs_from_project.invoke (cooper.clj:56)
leiningen.cooper$cooper.invokeStatic (cooper.clj:145)
leiningen.cooper$cooper.doInvoke (cooper.clj:111)
clojure.lang.RestFn.invoke (RestFn.java:410)
clojure.lang.Var.invoke (Var.java:379)
clojure.lang.AFn.applyToHelper (AFn.java:154)
clojure.lang.Var.applyTo (Var.java:700)
clojure.core$apply.invokeStatic (core.clj:648)
clojure.core$apply.invoke (core.clj:641)
leiningen.core.main$partial_task$fn__4667.doInvoke (main.clj:284)
clojure.lang.RestFn.invoke (RestFn.java:410)
clojure.lang.AFn.applyToHelper (AFn.java:154)
clojure.lang.RestFn.applyTo (RestFn.java:132)
clojure.lang.AFunction$1.doInvoke (AFunction.java:29)
clojure.lang.RestFn.applyTo (RestFn.java:137)
clojure.core$apply.invokeStatic (core.clj:648)
clojure.core$apply.invoke (core.clj:641)
leiningen.core.main$apply_task.invokeStatic (main.clj:334)
leiningen.core.main$apply_task.invoke (main.clj:320)
leiningen.core.main$resolve_and_apply.invokeStatic (main.clj:340)
leiningen.core.main$resolve_and_apply.invoke (main.clj:336)
leiningen.core.main$_main$fn__4734.invoke (main.clj:420)
leiningen.core.main$_main.invokeStatic (main.clj:411)
leiningen.core.main$_main.doInvoke (main.clj:408)
clojure.lang.RestFn.invoke (RestFn.java:408)
clojure.lang.Var.invoke (Var.java:379)
clojure.lang.AFn.applyToHelper (AFn.java:154)
clojure.lang.Var.applyTo (Var.java:700)
clojure.core$apply.invokeStatic (core.clj:646)
clojure.main$main_opt.invokeStatic (main.clj:314)
clojure.main$main_opt.invoke (main.clj:310)
clojure.main$main.invokeStatic (main.clj:421)
clojure.main$main.doInvoke (main.clj:384)
clojure.lang.RestFn.invoke (RestFn.java:436)
clojure.lang.Var.invoke (Var.java:388)
clojure.lang.AFn.applyToHelper (AFn.java:160)
clojure.lang.Var.applyTo (Var.java:700)
clojure.main.main (main.java:37)
Caused by: java.io.IOException: CreateProcess error=2, The system cannot find the file specified
at java.lang.ProcessImpl.create (:-2)
java.lang.ProcessImpl.<init> (:-1)
java.lang.ProcessImpl.start (:-1)
java.lang.ProcessBuilder.start (:-1)
me.raynes.conch.low_level$proc.invokeStatic (low_level.clj:33)
me.raynes.conch.low_level$proc.doInvoke (low_level.clj:7)
clojure.lang.RestFn.applyTo (RestFn.java:137)
clojure.core$apply.invokeStatic (core.clj:646)
clojure.core$apply.invoke (core.clj:641)
leiningen.cooper$get_procs_from_project$iter__657__661$fn__662.invoke (cooper.clj:61)
clojure.lang.LazySeq.sval (LazySeq.java:40)
clojure.lang.LazySeq.seq (LazySeq.java:49)
clojure.lang.RT.seq (RT.java:521)
clojure.core$seq__4357.invokeStatic (core.clj:137)
clojure.core$dorun.invokeStatic (core.clj:3024)
clojure.core$doall.invokeStatic (core.clj:3039)
clojure.core$doall.invoke (core.clj:3039)
leiningen.cooper$get_procs_from_project.invokeStatic (cooper.clj:59)
leiningen.cooper$get_procs_from_project.invoke (cooper.clj:56)
leiningen.cooper$cooper.invokeStatic (cooper.clj:145)
leiningen.cooper$cooper.doInvoke (cooper.clj:111)
clojure.lang.RestFn.invoke (RestFn.java:410)
clojure.lang.Var.invoke (Var.java:379)
clojure.lang.AFn.applyToHelper (AFn.java:154)
clojure.lang.Var.applyTo (Var.java:700)
clojure.core$apply.invokeStatic (core.clj:648)
clojure.core$apply.invoke (core.clj:641)
leiningen.core.main$partial_task$fn__4667.doInvoke (main.clj:284)
clojure.lang.RestFn.invoke (RestFn.java:410)
clojure.lang.AFn.applyToHelper (AFn.java:154)
clojure.lang.RestFn.applyTo (RestFn.java:132)
clojure.lang.AFunction$1.doInvoke (AFunction.java:29)
clojure.lang.RestFn.applyTo (RestFn.java:137)
clojure.core$apply.invokeStatic (core.clj:648)
clojure.core$apply.invoke (core.clj:641)
leiningen.core.main$apply_task.invokeStatic (main.clj:334)
leiningen.core.main$apply_task.invoke (main.clj:320)
leiningen.core.main$resolve_and_apply.invokeStatic (main.clj:340)
leiningen.core.main$resolve_and_apply.invoke (main.clj:336)
leiningen.core.main$_main$fn__4734.invoke (main.clj:420)
leiningen.core.main$_main.invokeStatic (main.clj:411)
leiningen.core.main$_main.doInvoke (main.clj:408)
clojure.lang.RestFn.invoke (RestFn.java:408)
clojure.lang.Var.invoke (Var.java:379)
clojure.lang.AFn.applyToHelper (AFn.java:154)
clojure.lang.Var.applyTo (Var.java:700)
clojure.core$apply.invokeStatic (core.clj:646)
clojure.main$main_opt.invokeStatic (main.clj:314)
clojure.main$main_opt.invoke (main.clj:310)
clojure.main$main.invokeStatic (main.clj:421)
clojure.main$main.doInvoke (main.clj:384)
clojure.lang.RestFn.invoke (RestFn.java:436)
clojure.lang.Var.invoke (Var.java:388)
clojure.lang.AFn.applyToHelper (AFn.java:160)
clojure.lang.Var.applyTo (Var.java:700)
clojure.main.main (main.java:37)
lein cooper
当我从 Powershell 提示符运行时,我得到了上述信息。我有一个完整的项目,这确实适用于我同事的 OSX,但在 Windows tit 上不起作用。
我使用以下项目文件创建了一个较小的重现:
(defproject cooper.repro "0.0.1"
:dependencies [[org.clojure/clojure "1.9.0"]
[org.clojure/clojurescript "1.9.946"]]
:plugins [[lein-cljsbuild "1.1.7"]
[lein-cooper "1.2.2"]
[lein-figwheel "0.5.14"]]
:source-paths ["src/"]
:cooper {"cljs" ["lein" "figwheel"]}
:figwheel {:http-server-root "./" :server-port 3000}
:cljsbuild {:builds [{
:id "dev"
:source-paths ["src"]
:figwheel true
:compiler {
:main hello-world
:asset-path "js/out"
:output-to "resources/public/exmple.js"
:output-dir "resources/public/out"
}}]}
)
我的src
文件夹只包含一个只有命名空间的 hello-world clojurescript 文件。如果我只是lein figwheel
从命令行运行,它会按预期工作(即使它没有做任何有趣的事情)。
起初我认为这是一个与路径相关的问题,所以我重新启动了我的机器,但这并没有帮助。
有什么技巧可以解决这个问题吗?或者我应该提交一个错误(如果是这样:在哪里?对于无花果,还是对于 lein-cooper?)。