3

我有(除了一些附加功能,例如company-mode我的 emacs 24.5 配置为clojure 章节中推荐的勇敢和真实的.

不幸的是,我遇到了一个问题,我试图通过一些爱丽丝梦游仙境的clojure katas并且REPL 不会在正确的名称空间中启动。我可以切换到命名空间,C-c M-nREPL 显示了命名空间,但是之后的任何评估都给了我一个错误“命名空间不存在”。

我尝试更新 cider-nrepl (只需将其更改~/.lein/profiles.clj为使用错误数量的参数调用package-install cinder的行和函数。the function cider-find-var is not known

如何使软件包保持最新状态?我的命名空间问题甚至与此有关吗?

4

1 回答 1

2

您的命名空间问题听起来像是一个不同的问题。如果您在文件中有命名空间,并且在 cider 启动时不会自动加载该文件,则会发生这种情况。

您可以将 repl 切换为该名称,但在您按 加载文件之前不会加载任何内容Ctrl-cCtrl-k。如果您在 core.clj(或您的项目用作启动名称空间的任何内容)中添加需要相关名称空间的 require,那么当您启动 cider 时将加载该名称空间。


关于你的苹果酒 nrepl 版本匹配问题。当发布新版本的苹果酒并且您在 emacs 中执行更新软件包的操作时,可能会发生这种情况。然后你的苹果酒版本领先于 nrepl 版本。当您启动 cider 时,始终将 ~/.lein/profiles.clj 中的 cider-nrepl 版本设置为屏幕顶部列出的版本,这是我最愉快的体验。


更新:不再需要苹果酒 nrepl 配置!

世界已经改善,您不再需要在 ~/.lein/profiles.clj 中设置任何内容。您应该从该文件中删除所有 cider 和 nrepl 引用,然后安装最新版本的 cider.el,所有这些东西都将开始工作。特别是 cider.el 现在会在您自动运行时向 lein 添加正确的依赖项cider-jack-in。因此,如果您拥有最新版本,并通过苹果酒开始 lein,那么您不再需要做任何特殊的事情。

于 2015-10-14T20:54:48.860 回答