Unable to find a javac compiler;
com.sun.tools.javac.Main is not on the classpath.
Perhaps JAVA_HOME does not point to the JDK.
It is currently set to "/usr/lib/jvm/java-6-openjdk-i386/jre"
呃..但它指向一个JDK,这里是open-JDK。我在这里错过了什么吗?
忽略所有建议添加/设置 JAVA_HOME 目录的解决方案,它们是错误的。如果您的 .profile 等中有一组,请将其删除。
Ubuntu(和许多其他发行版,尤其是基于 debian 的发行版)使用“替代”机制来提供更高级别的抽象来处理诸如同一软件的多个版本或提供相同功能的多个软件包之类的事情,例如网络浏览器。
Ubuntu 不需要 JAVA_HOME 设置,前提是您让操作系统及其打包系统管理您的环境。如果您手动安装东西,那么您需要自己解决。
我怀疑最初您只安装了 JRE,然后您尝试通过添加 JAVA_HOME 设置来解决您的问题,然后安装了所需的 JDK。如果是这种情况,请删除您的 JAVA_HOME 设置,然后使用 update-alternatives 命令确保已设置正确的 java 环境(有关详细信息,请参阅 update-alternatives 的手册页 - 非常简单)。
使用 lein 的建议是 IMO 现场,我还建议使用脚本而不是打包版本。我还建议使用 2.0 预览版。与旧的 1.x 版本相比,它非常稳定并且是一个更好的起点。
删除路径中的 jre 部分。这应该够了吧。
它会变成
"/usr/lib/jvm/java-6-openjdk-i386"
正如布赖恩建议的那样尝试
sudo apt-get install openjdk-7-jdk
您可以只安装 leiningen(与 Ubuntu 一起打包)。这将为您提供一个很好的项目工具来使用 Clojure。它会在每个包的基础上为您引导和拉取 clojure,这也意味着您拥有多个版本。