2015-10-14 105 views
2

我(除了一些添加剂如company-mode我的emacs 24.5配置为the chapter of clojure for the brave and true建议。如何更新“勇敢的Clojure”苹果酒自举emacs的

不幸的是我遇到了一个问题,我试图通过一些工作alice in wonderland clojure katas和REPL不会在正确的命名空间中火了起来,我可以切换到命名空间C-c M-n和REPL显示的命名空间,但之后的任何评价给了我尝试错误“命名空间不存在”。

更新苹果酒-nrepl(只需更改它在~/.lein/profiles.clj,但它给了我一个错误,Cid呃和Cider-nREPL版本号是不兼容的。我试图更新一个简单的package-install cinder,这也没有工作,但给了我这个警告沿着the function cider-find-var is not known和函数调用错误数量的参数。

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

回答

2

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

您可以将REPL切换到该名称,但没有的内容将被加载,直到你按下Ctrl键-CCTRL-K加载该文件。如果你在core.clj中添加一个require(或者你的项目使用的任何开始命名空间),那么需要命名空间时,这个命名空间将会在你启动苹果酒时被加载。


对你的苹果酒nrepl版本的匹配问题。这可能发生在苹果酒的新版本发布时,并且你在emacs中做了一些更新软件包的操作。那么你的苹果酒版本会超越nrepl版本。通过将〜/ .lein/profiles.clj中的cider-nrepl版本设置为启动苹果酒时在屏幕顶部列出的版本,我获得了最愉快的体验。


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

世界已经改善,你不再需要在〜/ .lein/profiles.clj中设置任何东西。您应该从该文件中删除所有苹果酒和nrepl引用,然后安装最新版本的cider.el,所有这些东西将开始工作。具体来说,当您自动运行cider-jack-in时,cider.el现在会将适当的相关性广告给lein。所以,如果你有最新版本,并通过苹果酒开始lein,那么你不再需要做任何特殊的东西。

+1

我很想尝试在苹果酒v0.9.0中的新调试器,但我有相同的“勇敢的Clojure”基于Emacs配置为OP。如果你知道如何升级软件包,你是否也可以在你的回答中加入?谢谢:) –

+0

感谢您提醒我这个答案。现在情况更好,你根本不需要做这些步骤。只需通过emacs包管理器获取最新的cider.el –

+0

谢谢。它完美的工作! –