如何在'勇敢的clojure'引导的emacs中更新苹果酒

时间:2015-10-14 19:10:27

标签: emacs clojure cider

我有(除了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版本号不兼容的错误。我尝试用简单的{{1更新这也没有用,但是在package-install cinder的行中给了我这个警告,并且使用错误的参数来调用函数。

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

1 个答案:

答案 0 :(得分:2)

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

您可以将repl切换为该名称,但在按 Ctrl-c Ctrl-k 加载文件之前,不会加载任何内容。如果你在core.clj中添加一个require(或你的项目使用的任何东西,因为它的起始命名空间)需要有问题的命名空间,那么当你启动苹果酒时,该命名空间就会被加载。

<小时/> 你的苹果酒nrepl版本匹配问题。当一个新的苹果酒版本被发布并且你在更新包裹的emacs中做了一些事情时,就会发生这种情况。然后你的苹果酒版本领先于nrepl版本。通过始终将〜/ .lein / profiles.clj中的cider-nrepl版本设置为启动苹果酒时屏幕顶部列出的版本,我获得了最愉快的体验。

<小时/> 更新:不再需要cider nrepl配置!

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