【发布时间】:2013-03-15 02:25:19
【问题描述】:
我想试用 Clojure,但在 here 的第一步中遇到了一些问题。它建议使用 Leiningen 来设置 Clojure 项目。
我下载并运行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 的副本是为 x86 构建的。我怀疑我需要一个为 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。
【问题讨论】:
-
安装 leiningen 后,使用起来非常棒。
标签: clojure jvm osx-lion leiningen