2013-03-15 22 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