4

Linux で lein を実行しようとすると、次の例外が発生します。

Exception in thread "main" java.lang.NoClassDefFoundError: clojure.core.protocols$fn__5393
   at java.lang.Class.initializeClass(libgcj.so.10)
   at clojure.core.protocols__init.load(Unknown Source:16)
   at clojure.core.protocols__init.<clinit>(Unknown Source)
   at java.lang.Class.initializeClass(libgcj.so.10)
   at java.lang.Class.forName(libgcj.so.10)
   at clojure.lang.RT.loadClassForName(RT.java:1578)
   at clojure.lang.RT.load(RT.java:399)
   at clojure.lang.RT.load(RT.java:381)
   at clojure.core$load$fn__4519.invoke(core.clj:4915)
   at clojure.core$load.doInvoke(core.clj:4914)
   at clojure.lang.RestFn.invoke(RestFn.java:408)
   at clojure.core__init.load(Unknown Source:5342)
   at clojure.core__init.<clinit>(Unknown Source)
   at java.lang.Class.initializeClass(libgcj.so.10)
   at java.lang.Class.forName(libgcj.so.10)
   at clojure.lang.RT.loadClassForName(RT.java:1578)
   at clojure.lang.RT.load(RT.java:399)
   at clojure.lang.RT.load(RT.java:381)
   at clojure.lang.RT.doInit(RT.java:416)
   at clojure.lang.RT.<clinit>(RT.java:302)
   at java.lang.Class.initializeClass(libgcj.so.10)
   at clojure.main.<clinit>(main.java:20)
   at java.lang.Class.initializeClass(libgcj.so.10)
   at java.lang.Class.forName(libgcj.so.10)
   at java.lang.Class.forName(libgcj.so.10)
   at jline.ConsoleRunner.main(ConsoleRunner.java:69)
Caused by: java.lang.VerifyError: verification failed at PC 214 in      
clojure.core.protocols$fn__5393:invoke((Ljava.lang.Object;Ljava.lang.Object;Ljava.lang.Obje    ct;)Ljava.lang.Object;): incompatible type on stack
   at java.lang.Class.initializeClass(libgcj.so.10)
   ...25 more

私は彼らの github ページの指示に従いましたが、うまくいきませんでした。今日から clojure の学習を始めるのは楽しいだろうと思っていましたが、代わりに問題しかありませんでした。ライニンゲンが何であるかさえ知りません。

4

1 に答える 1

2

欲求不満でごめんなさい、

Leiningen は、新しい clojure プロジェクトをハッキングする手間を省くためのビルド ツールです。leiningen が存在する前は、多くの人が jar ファイルをダウンロードしてソースからビルドして clojure を「インストール」しようとしていました。その代わりに、使用するバージョンを leiningen project.clj ファイルで指定するだけで、そのプロジェクトの依存関係としてローカルにインストールされます。

実行しましたか:

  • lein 新しい hello_clojure
  • cd hello_clojure
  • project.clj を編集し、clojure 1.3.0 を使用するように設定します:dependencies [[org.clojure/clojure "1.3.0"]
  • レイン・デプス
  • lein repl
  • (+ 1 2 3 4)

ライニンゲンで問題が発生した場合、私は一般的に次のことを行います。

  • ラインのアップグレード
  • rm ライブラリ/*
  • レイン・デプス

このような問題は (私にとっては) 珍しいことであり、通常はかなり特殊なことです。とてもフレンドリーなクラウドです。心配はいりません。

于 2012-04-24T22:39:39.327 に答える