[英](Using Leiningen or Choosing a JVM) on OS X
我想尝试的Clojure,我遇到一些麻烦从第一步这里 。 它建议使用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
。
Mac上的Java 7仍然非常糟糕 (至少出于我的目的),即使将其安装在计算机上也可能使Apple提供的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工作 。
请仔细检查以下步骤:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.