我想嘗試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
。
安裝Leiningen後,使用起來相當不錯。 – octopusgrabbus 2013-03-15 15:27:59