6

先月、誰かが私が Cider を Clojure プロジェクトに取り掛かるのを手伝ってくれました。私は機能性、特に が気に入りましM-.cider-jump-to-var。しかし、それ以来、元のプロジェクトでも新しいプロジェクトでも正しい動作を再現できず、最初にセットアップを手伝ってくれた人はもういません。

私がまだチェックアウトしている元のプロジェクトには、次の行があります

[cider/cider-nrepl "0.7.0"]

私の:dependenciesセクションでproject.clj。このような行を新しいプロジェクトに追加して実行するlein replcider-connect、次のメッセージが表示されます。

; CIDER 0.8.0alpha (package: 20141006.507) (Java nil, Clojure 1.6.0, nREPL 0.2.3)
WARNING: The following required nREPL ops are not supported: 
classpath complete info inspect-start inspect-refresh inspect-pop inspect-push inspect-reset macroexpand ns-list ns-vars resource stacktrace toggle-trace undef
Please, install (or update) cider-nrepl 0.8.0-snapshot and restart CIDER
WARNING: CIDER's version (0.8.0-snapshot) does not match cider-nrepl's version (0.7.0)

案の定、シンボルの定義 (たとえばfirst) にジャンプすると、次のようになります。

cider-ensure-op-supported: Can't find nREPL middleware providing op "info".  Please, install (or update) cider-nrepl 0.8.0-snapshot and restart CIDER

奇妙なことに、のバージョンcider/cider-nrepl"0.8.0-SNAPSHOT"inに変更すると、同じエラーが発生しproject.cljます。

しかし、cider-nrepl Github ページで、行がではなくcider/cider-nreplにあるはずであることに気付きました。それは間違いなく私の元のプロジェクトにはありませんでしたが、それでも何とか機能しました。いいので、新しいプロジェクトに移動します。今回は、nrepl プロセスはエラーなしで起動しますが、もう一度、たとえば の定義にジャンプしようとすると、次のようになります。:plugins:dependencies:pluginsfirst

Symbol first not resolved

にダウングレードしようとすると0.7.0、cider を起動したときに短いメッセージが表示されます。

WARNING: The following required nREPL ops are not supported: 
ns-list ns-vars undef
Please, install (or update) cider-nrepl 0.8.0-snapshot and restart CIDER
WARNING: CIDER's version (0.8.0-snapshot) does not match cider-nrepl's version (0.7.0)

...しかし、以前と同じ「シンボルが最初に解決されていません」というメッセージが表示されます。

これは本当にイライラします。元のプロジェクトに取り組んでいたときに、何らかのバージョンの不一致メッセージが表示されたのを漠然と思い出しましたが、定義へのジャンプ機能はまだ機能していました。今、私はそれを私の人生で機能させることはできません。どんな支援も非常に高く評価されます。

追加するために編集:

上記の調査に着手する前に、パッケージ リストから Cider を削除して再インストールしました。~/.m2/repository/ciderまた、各ステップ間で削除しました。

今朝はサイダーバージョンをいただきました20141006.507。アップデートが利用可能だったので、バージョンが20141007.452. コマンドcider-versionCIDER 0.8.0-snapshot. [cider/cider-nrepl "0.8.0-SNAPSHOT"]myの:pluginsセクションでは、どのシンボルを試してproject.cljも取得できます。Symbol <whatever> not resolved

4

2 に答える 2

1

どうやら私が見逃していた主なビットは、偶然見つけたもので、M-.動作する前に、ファイルの初期nsフォームをC-xC-e( cider-eval-last-sexp) で評価する必要があるということでした。

時折、定義にジャンプしようとすると、「間違った型の引数: arrayp」のような役に立たないエラー メッセージが表示されることがありますが、使用できるほど頻繁に機能します。

このプロセスを改善するための提案を歓迎します。

于 2014-11-20T00:47:15.357 に答える