如何在 'brave clojure' 自举 emacs 中更新苹果酒

How to update cider in 'brave clojure' bootstrapped emacs

我有(除了一些添加,例如 company-mode 我的 emacs 24.5 按照 the chapter of clojure for the brave and true 中的建议配置。

不幸的是,我 运行 遇到了一个问题,我试图解决一些问题 alice in wonderland clojure katas,但 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 和用错误数量的参数调用函数。

如何使软件包保持最新?我的命名空间问题是否与此相关?

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

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


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


更新:不再需要 cider nrepl 配置!

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