【问题标题】:How to run clojure on Mac OS X?如何在 Mac OS X 上运行 clojure?
【发布时间】:2010-07-17 05:19:53
【问题描述】:

我正在遵循“Programming Clojure”一书中的示例,并且我在页面 17 运行(需要'example.introduction)。

我在 ~/bin/clojure 设置了 clojure 如下

爪哇服务器\ -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8888 -cp ... clojure.lang.Repl

-cp 包含 . (当前目录)。当我使用 clojure 进行尝试时,我收到以下错误消息。

线程“主”java.lang.ExceptionInInitializerError 中的异常 在 clojure.lang.Repl.(Repl.java:23) 引起:java.lang.RuntimeException: java.lang.NoSuchMethodError: clojure.lang.MultiFn.(Ljava/lang/String;Lclojure/lang/IFn;Ljava/lang/Object;Lclojure/lang/IRef;)V (utils .clj:0) 在 clojure.lang.RT.(RT.java:290) ... 1 更多 引起:java.lang.NoSuchMethodError: clojure.lang.MultiFn.(Ljava/lang/String;Lclojure/lang/IFn;Ljava/lang/Object;Lclojure/lang/IRef;)V (utils.clj:0) 在 clojure.lang.Compiler.eval(Compiler.java:4153) 在 clojure.lang.Compiler.load(Compiler.java:4470) 在 clojure.lang.RT.loadResourceScript(RT.java:327) 在 clojure.lang.RT.loadResourceScript(RT.java:316) 在 clojure.lang.RT.load(RT.java:406) 在 clojure.lang.RT.load(RT.java:376) 在 clojure.core$load__4557$fn__4559.invoke(core.clj:3427) 在 clojure.core$load__4557.doInvoke(core.clj:3426) 在 clojure.lang.RestFn.invoke(RestFn.java:413) 在 clojure.core$load_one__4520.invoke(core.clj:3271) ... 在 clojure.lang.RT.loadResourceScript(RT.java:327) 在 clojure.lang.RT.loadResourceScript(RT.java:312) 在 clojure.lang.RT.maybeLoadResourceScript(RT.java:308) 在 clojure.lang.RT.doInit(RT.java:430) 在 clojure.lang.RT.(RT.java:286) ... 1 更多 引起:java.lang.NoSuchMethodError: clojure.lang.MultiFn.(Ljava/lang/String;Lclojure/lang/IFn;Ljava/lang/Object;Lclojure/lang/IRef;)V 在 clojure.contrib.duck_streams__init.load(未知来源) 在 clojure.contrib.duck_streams__init.(未知来源) ... 在 clojure.lang.Compiler.eval(Compiler.java:4142) ... 28 更多

我尝试如下运行clojure。

别名clojure='java -jar $JARDIR/clojure.jar'

但是当我按如下方式运行the command 时,它没有我在.bashrc 中正确设置的CLASSPATH。

(println (seq (.getURLs (java.lang.ClassLoader/getSystemClassLoader))))

可能出了什么问题?

【问题讨论】:

  • 除了最琐碎的实验外,最好习惯Leiningen。当我刚开始时,我就很难学到这一点。

标签: clojure


【解决方案1】:

最简单的方法是使用本书随附的 Stuart Halloway 的代码:

  1. 从 GitHub 克隆 Stu 的代码:$ git clone http://github.com/stuarthalloway/programming-clojure.git
  2. cd 进入创建的programming-clojure 目录:$ cd programming-clojure
  3. bin/ 目录中运行repl.sh 脚本:$ ./bin/repl.sh(确保从repo 根目录运行它,而不是从bin/ 目录运行,否则将无法运行)。

脚本将设置所有必要的路径,包括书中示例的路径。

(当然,您可以手动完成,但无论如何,您必须下载或克隆 programming-clojure 源代码才能使示例正常工作。)

【讨论】:

    猜你喜欢
    • 2011-03-16
    • 2014-11-08
    • 2015-07-07
    • 1970-01-01
    • 1970-01-01
    • 2019-02-04
    • 2011-02-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多