首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >(在OS X上使用Leiningen或选择JVM)

(在OS X上使用Leiningen或选择JVM)
EN

Stack Overflow用户
提问于 2013-03-15 10:25:20
回答 2查看 1.1K关注 0票数 0

我想尝试一下Clojure,但我在here的第一步遇到了一些问题。它建议使用Leiningen来设置Clojure项目。

我下载并运行lein,我看到了以下内容:

代码语言:javascript
复制
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。你可以在这里看到它们:

代码语言:javascript
复制
$ /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

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-03-15 11:14:52

Mac机上的Java7仍然很broken (至少对我来说是这样),即使把它装在机器上也会搞乱苹果提供的Java6,而后者通常工作得很好。删除所有Java7安装(可能是注销/重启),然后查看Java6是否可以从命令行运行(输入Java -version)。如果你看到类似这样的东西:

代码语言:javascript
复制
$ 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)

如果你这样做了,那么你就可以走了。在我移除JDK7之后,我可以继续在我的mac上使用我的Clojure work了。

票数 0
EN

Stack Overflow用户

发布于 2013-03-15 10:39:03

仔细检查以下步骤:

复制到/usr/bin/lein

  • chmod 755 /usr/bin/lein

  • lein repl

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15423691

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档