2013-03-15 1 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 построена для 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.

+0

Как только вы получаете установленный leiningen, его довольно приятно использовать. – octopusgrabbus

ответ

0

Java 7 на Mac по-прежнему довольно broken (по крайней мере, для моих целей), и даже наличие его на машине может испортить 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, я смог продолжить работу с моим Clojure work на моем Mac.

+0

Мне не нужно было удалять java 7 (пока), но я связал/usr/bin/java с java1.6, а затем легко установил lein. – munk

+0

Приятно слышать. На моей машине было что-то, что мешало запуску приложений Swing. Удаление Java 7 (ну, в основном) позаботилось об этом. – Bill

-1

Дважды проверьте эти шаги:

  1. Копировать Lein в/USR/BIN/LEIN
  2. CHMOD 755/USR/бен/LEIN
  3. Lein Repl

 Смежные вопросы

  • Нет связанных вопросов^_^