2013-03-15 64 views
0

我想尝试Clojure,并且在here的第一步遇到了一些问题。它建议使用Leiningen来建立Clojure项目。(使用Leiningen或选择JVM)在OS X上

我下载并运行lein,我看到:

Error: dl failure on line 732 
Error: failed /Library/Java/JavaVirtualMachines/OpenJDK-1.7.0-20110203.jdk/Contents/Home/jre/lib/client/libjvm.dylib, because dlopen(/Library/Java/JavaVirtualMachines/OpenJDK-1.7.0-20110203.jdk/Contents/Home/jre/lib/client/libjvm.dylib, 10): no suitable image found. Did find: 
    /Library/Java/JavaVirtualMachines/OpenJDK-1.7.0-20110203.jdk/Contents/Home/jre/lib/client/libjvm.dylib: mach-o, but wrong architecture 

通过一些研究,我发现,libjvm.dylib的这个副本是专为86。我怀疑我需要为x86_64构建一个。我已经下载并安装了一个新的jvm。你可以在这里看到他们:

$ /usr/libexec/java_home -V 
Matching Java Virtual Machines (7): 
    1.7.0_b126+, x86_64: "OpenJDK 7" /Library/Java/JavaVirtualMachines/OpenJDK-1.7.0-20110203.jdk/Contents/Home 
    1.7.0_b126+, i386: "OpenJDK 7" /Library/Java/JavaVirtualMachines/OpenJDK-1.7.0-20110203.jdk/Contents/Home 
    1.7.0_12, x86_64: "Java SE 7" /Library/Java/JavaVirtualMachines/jdk1.7.0_12.jdk/Contents/Home 
    1.6.0_43-b01-447, x86_64: "Java SE 6" /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home 
    1.6.0_43-b01-447, i386: "Java SE 6" /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home 
    1.6.0_26-b03-383, x86_64: "Java SE 6" /Library/Java/JavaVirtualMachines/1.6.0_26-b03-383.jdk/Contents/Home 
    1.6.0_26-b03-383, i386: "Java SE 6" /Library/Java/JavaVirtualMachines/1.6.0_26-b03-383.jdk/Contents/Home 

我想用libjvm.dylib的副本是/Library/Java/JavaVirtualMachines/jdk1.7.0_12.jdk/...

但我不知道如何告诉leiningen使用此。我其实不认为这是leiningen,但无论该文件是用来下载的东西。而且无论如何,坚持使用/Library/Java/JavaVirtualMachines/OpenJDK-1.7.0-20110203.jdk/,即使我更改JAVA_HOME或将此目录重命名为/Library/Java/JavaVirtualMachines/jdk.old.foo

+0

安装Leiningen后,使用起来相当不错。 – octopusgrabbus 2013-03-15 15:27:59

回答

0

的Java 7的Mac仍然非常漂亮(至少对于我的目的而言),甚至在机器上都可以让苹果提供的Java 6运行良好。删除所有Java 7安装(可能需要注销/重启),然后从命令行查看Java 6是否会运行(键入java -version)。如果你看到这样的事情:

$ java -version 
java version "1.6.0_43" 
Java(TM) SE Runtime Environment (build 1.6.0_43-b01-447-11M4203) 
Java HotSpot(TM) 64-Bit Server VM (build 20.14-b01-447, mixed mode) 

如果你这样做,那么你很好去。删除JDK 7后,我可以在我的Mac上继续使用我的Clojure work

+0

我并不需要卸载java 7(但),但我确实将/ usr/bin/java链接到java1.6,然后轻松安装lein。 – munk 2013-03-19 04:01:12

+0

很高兴听到。我的机器上发生了一些干扰Swing应用程序的事情。除去Java 7(大部分情况下)都照顾到了这一点。 – Bill 2013-03-19 04:30:36

-1

仔细检查下列步骤操作:

  1. 复制雷音到/ usr/bin中/雷音
  2. 搭配chmod 755的/ usr/bin中/雷音
  3. 雷音REPL