leiningen不工作在os x [英] leiningen not working on os x

查看:146
本文介绍了leiningen不工作在os x的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

当我尝试运行leiningen在我的os x狮子,我得到以下错误。安装按照github(README)上的说明完成。



我通过google发现的唯一可能的解决方案是运行 lein clean 但是对我没有类似的消息。

 线程main中的异常java.lang.RuntimeException:java.lang。 NoSuchMethodError:clojure.lang.KeywordLookupSite。< init>(ILclojure / lang / Keyword;)V 
at clojure.lang.Util.runtimeException(Util.java:165)
at clojure.lang.Compiler .eval(Compiler.java:6476)
at clojure.lang.Compiler.eval(Compiler.java:6431)
at clojure.core $ eval.invoke(core.clj:2795)
at clojure.main $ eval_opt.invoke(main.clj:296)
at clojure.main $ initialize.invoke(main.clj:315)
在clojure.main $ script_opt.invoke(main。 clj:339)
at clojure.main $ main.doInvoke(main.clj:426)
at clojure.lang.RestFn.invoke(RestFn.java:436)
at clojure.lang .Var.invoke(Var.java:409)
at clojure.lang.AFn.applyToHelper(AFn.java:167)
at clojure.lang.Var.applyTo(Var.java:518)
at clojure.main.main(main.java:37)
Caused by:java.lang.NoSuchMethodError:clojure.lang.KeywordLookupSite。< init>(ILclojure / lang / Keyword;)V
at leiningen.util.paths $ legacy_native_path。< clinit>(paths.clj:32)
at leiningen.util.paths__init.load(未知来源)
at leiningen.util.paths__init。 ; clinit>(Unknown Source)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:247)
at clojure.lang .RT.loadClassForName(RT.java:2030)
at clojure.lang.RT.load(RT.java:417)
at clojure.lang.RT.load(RT.java:398)
at clojure.core $ load $ fn__4610.invoke(core.clj:5386)
在clojure.core $ load.doInvoke(core.clj:5385)
在clojure.lang.RestFn。 invoke(RestFn.java:408)
在clojure.core $ load_one.invoke(core.clj:5200)
在clojure.core $ load_lib.doInvoke(core.clj:5237)
在clojure.lang.RestFn.applyTo(RestFn.java:142)
在clojure.core $ apply.invoke(core.clj:602)
在clojure.core $ load_libs.doInvoke(core.clj :5271)
at clojure.lang.RestFn.applyTo(RestFn.java:137)
at clojure.core $ apply.invoke(core.clj:602)
at clojure.core $ require.doInvoke(core.clj:5352)
at clojure.lang.RestFn.invoke(RestFn.java:408)
at leiningen.core $ loading__4414__auto __。invoke(core.clj:1)
at leiningen.core__init.load(unknown Source)
at leiningen.core__init。< clinit>(未知来源)
at java.lang.Class.forName0(本地方法)
java.lang.Class.forName(Class.java:247)
在clojure.lang.RT.loadClassForName(RT.java:2030)
在clojure.lang.RT.load(RT.java: 417)
at clojure.lang.RT.load(RT.java:398)
at clojure.core $ load $ fn__4610.invoke(core.clj:5386)
at clojure.core $ load.doInvoke(core.clj:5385)
在clojure.lang.RestFn.invoke(RestFn.java:408)
在clojure.core $ load_one.invoke(core.clj:5200)
at clojure.core $ load_lib.doInvoke(core.clj:5237)
在clojure.lang.RestFn.applyTo(RestFn.java:142)
在clojure.core $ apply.invoke core.clj:602)
在clojure.core $ load_libs.doInvoke(core.clj:5271)
在clojure.lang.RestFn.applyTo(RestFn.java:137)
在clojure .core $ apply.invoke(core.clj:604)
在clojure.core $ use.doInvoke(core.clj:5363)
在clojure.lang.RestFn.invoke(RestFn.java:408 )
at user $ eval1.invoke(NO_SOURCE_FILE:1)
at clojure.lang.Compiler.eval(Compiler.java:6465)
...另外11个


解决方案

我同意cieplak-我刚刚有同样的问题,lein依赖于Clojure 1.2.1和它创建的默认项目文件使我的新项目依赖于Clojure 1.3.0。当我运行'lein测试'运行测试的新项目Clojure 1.3.0下载并添加到类路径,然后我有你的错误上面的状态。



解决方案 - 在我的新项目(在'libs')中删除所有下载的jars,更改project.clj依赖于Clojure 1.2.1匹配lein和重新运行'lein test'下载依赖。这个时候,没有Clojure版本冲突,没有错误:)



更正 - 这只有在每次运行'lein test' p>

更新 - 我已经修复了我的问题,确保我的项目中的所有依赖项使用相同版本的Clojure - 1.2.1。主要的依赖是Midje,所以我使用1.2.0(使用Clojure的1.2.1)和当然Leiningen本身在版本1.6.2使用Clojure 1.2.1也不是一个理想的情况,但至少它工作在连续运行,而不必删除所有依赖库!


When I try running leiningen on my os x lion I get the error below. The install is done as per the instructions on github (README). Can anyone give me a hint on this?

The only possible solution I found via google was to run lein clean but that fails for me with a similar message.

Exception in thread "main" java.lang.RuntimeException: java.lang.NoSuchMethodError: clojure.lang.KeywordLookupSite.<init>(ILclojure/lang/Keyword;)V
at clojure.lang.Util.runtimeException(Util.java:165)
at clojure.lang.Compiler.eval(Compiler.java:6476)
at clojure.lang.Compiler.eval(Compiler.java:6431)
at clojure.core$eval.invoke(core.clj:2795)
at clojure.main$eval_opt.invoke(main.clj:296)
at clojure.main$initialize.invoke(main.clj:315)
at clojure.main$script_opt.invoke(main.clj:339)
at clojure.main$main.doInvoke(main.clj:426)
at clojure.lang.RestFn.invoke(RestFn.java:436)
at clojure.lang.Var.invoke(Var.java:409)
at clojure.lang.AFn.applyToHelper(AFn.java:167)
at clojure.lang.Var.applyTo(Var.java:518)
at clojure.main.main(main.java:37)
Caused by: java.lang.NoSuchMethodError: clojure.lang.KeywordLookupSite.<init>(ILclojure/lang/Keyword;)V
at leiningen.util.paths$legacy_native_path.<clinit>(paths.clj:32)
at leiningen.util.paths__init.load(Unknown Source)
at leiningen.util.paths__init.<clinit>(Unknown Source)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:247)
at clojure.lang.RT.loadClassForName(RT.java:2030)
at clojure.lang.RT.load(RT.java:417)
at clojure.lang.RT.load(RT.java:398)
at clojure.core$load$fn__4610.invoke(core.clj:5386)
at clojure.core$load.doInvoke(core.clj:5385)
at clojure.lang.RestFn.invoke(RestFn.java:408)
at clojure.core$load_one.invoke(core.clj:5200)
at clojure.core$load_lib.doInvoke(core.clj:5237)
at clojure.lang.RestFn.applyTo(RestFn.java:142)
at clojure.core$apply.invoke(core.clj:602)
at clojure.core$load_libs.doInvoke(core.clj:5271)
at clojure.lang.RestFn.applyTo(RestFn.java:137)
at clojure.core$apply.invoke(core.clj:602)
at clojure.core$require.doInvoke(core.clj:5352)
at clojure.lang.RestFn.invoke(RestFn.java:408)
at leiningen.core$loading__4414__auto__.invoke(core.clj:1)
at leiningen.core__init.load(Unknown Source)
at leiningen.core__init.<clinit>(Unknown Source)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:247)
at clojure.lang.RT.loadClassForName(RT.java:2030)
at clojure.lang.RT.load(RT.java:417)
at clojure.lang.RT.load(RT.java:398)
at clojure.core$load$fn__4610.invoke(core.clj:5386)
at clojure.core$load.doInvoke(core.clj:5385)
at clojure.lang.RestFn.invoke(RestFn.java:408)
at clojure.core$load_one.invoke(core.clj:5200)
at clojure.core$load_lib.doInvoke(core.clj:5237)
at clojure.lang.RestFn.applyTo(RestFn.java:142)
at clojure.core$apply.invoke(core.clj:602)
at clojure.core$load_libs.doInvoke(core.clj:5271)
at clojure.lang.RestFn.applyTo(RestFn.java:137)
at clojure.core$apply.invoke(core.clj:604)
at clojure.core$use.doInvoke(core.clj:5363)
at clojure.lang.RestFn.invoke(RestFn.java:408)
at user$eval1.invoke(NO_SOURCE_FILE:1)
at clojure.lang.Compiler.eval(Compiler.java:6465)
... 11 more

解决方案

I agree with cieplak - I had the same problem just now, lein depends on Clojure 1.2.1 and the default project file it created made my new project depend on Clojure 1.3.0. When I ran 'lein test' to run the tests for the new project Clojure 1.3.0 was downloaded and added to the classpath and then I had the error you state above.

Solution - Delete all the downloaded jars in my new project (in 'libs'), change project.clj to depend on Clojure 1.2.1 to match lein and re-run 'lein test' to download the dependencies. This time, no Clojure version clash and no error :)

Correction - This only works if you do it before each run of 'lein test' :( :(

Update - I have fixed my problem by making sure all the dependencies in my project use the same version of Clojure - 1.2.1. The main dependencies is Midje, so I'm using 1.2.0 of that (which uses 1.2.1 of Clojure) and of course Leiningen itself at version 1.6.2 which uses Clojure 1.2.1 also. Not an ideal situation but at least it works in consecutive runs without having to delete all the dependent libraries!

这篇关于leiningen不工作在os x的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆