3

私は持っています (勇敢な人のための clojure と true の章でcompany-mode推奨されているように構成された私の emacs 24.5などのいくつかの追加を除きます。

残念ながら、アリス イン ワンダーランドの clojure カタを処理しようとすると、REPL が正しい名前空間で起動しないという問題に遭遇しました。で名前空間に切り替えることができC-c M-n、REPL は名前空間を示しましたが、その後の評価では「名前空間が存在しません」というエラーが表示されました。

cider-nrepl を更新しようとしました (単純に で変更しました~/.lein/profiles.cljが、Cider と Cider-nREPL のバージョン番号に互換性がないというエラーが表示されました。単純なもので更新しようとしましたが、package-install cinderこれも機能しませんでしたが、この警告が表示されましたおよび 関数の行がthe function cider-find-var is not known間違った数の引数で呼び出されています。

パッケージを最新の状態に保つにはどうすればよいですか? 私の名前空間の問題はこれに関連していますか?

4

1 に答える 1

2

名前空間の問題は、別の問題のように聞こえます。これは、ファイルに名前空間があり、cider の起動時にそのファイルが自動的に読み込まれない場合に発生します。

repl をその名前に切り替えることができますが、 を押してファイルをロードするまでコンテンツはロードされませんCtrl-cCtrl-k。問題の名前空間を必要とするcore.clj(またはプロジェクトが開始名前空間として使用するもの)にrequireを追加すると、サイダーを開始するとその名前空間がロードされます。


あなたのサイダーnreplバージョンマッチングの問題に。これは、サイダーの新しいバージョンがリリースされ、パッケージを更新する emacs で何かを行ったときに発生する可能性があります。次に、サイダーのバージョンが nrepl のバージョンよりも先に進みます。~/.lein/profiles.clj の cider-nrepl のバージョンを、cider を起動したときに画面の上部にリストされているバージョンに常に設定することで、最も快適な体験ができました。


更新: cider nrepl 構成は不要になりました!

世界が改善され、~/.lein/profiles.clj で何も設定する必要がなくなりました。そのファイルからすべての cider および nrepl 参照を削除してから、最新バージョンの cider.el をインストールすると、これらすべてが機能し始めます。特に cider.el は、cider-jack-in自動実行時に適切な依存関係を lein に通知するようになりました。したがって、最新バージョンを使用していて、サイダーから lein を開始する場合は、特別なことをする必要はありません。

于 2015-10-14T20:54:48.860 に答える