当通过reload wrap从Emacs苹果酒REPL内启动环形服务器时,REPL会阻塞。为了在开发过程中重新加载代码,同时能够继续使用Cider REPL,我可以做些什么呢。
另外,在通过点击C-C-C从REPL中取消正在运行的服务器“进程”后,我无法在同一端口上重新启动它,我得到了“地址已在使用”错误。
我知道斯图尔特·塞拉的组件系统可以做到这一点。这是唯一的方法还是有更简单的解决方案?
更简单的解决方案是,将web服务器存储在dev/user中的某个位置,就像组件一样。clj。并配置cider refresh fn
变量以启动和停止web服务器。实际上,idea与组件方法相同,但是您不必使用它,
当您启动环服务器(我猜是使用jetty)时,您并没有告诉它不要将当前线程加入正在运行的服务器。您需要添加join吗
选项设置为
false
:
(run-jetty my-handler {:join? false})
还应绑定此表达式的返回值(即服务器实例),以便稍后停止:
(def my-server (run-jetty my-handler {:join? false}))
;; some time later
(.stop my-server)
停止服务器将关闭服务器套接字,并使其可用于未来的服务器实例。
我已经使用这个精彩的教程为clojure安装和设置了Emacs。如果我用repl启动,非常好!现在我在这里读到一个min应该是,我更改了我的项目。clj-in。lein deirectory(即“0.8.1”)到“0.9.1”,当我再次开始repl时,我收到以下警告: 你知道我该怎么解决这个问题吗?
我想学习一些Clojure,我正在尝试从Emacs运行REPL,但我无法让它工作。 我创建了一个基本的项目与lein。我在Emacs中打开生成的文件core.clj,当我试图从它运行REPL时(通过运行苹果酒杰克),我只得到消息: 我已经切换了错误调试,回溯(最后几行)是: 当我在终端中运行leinrun时,代码运行正常 另外,当我在终端中运行lein repl时,repl会使用以下信息正常运行:
我正在完成下面的Clojure教程。我刚刚安装了Emacs和Leiningen。如果单独调用,两者都可以工作。但是,当我试图调用时,如本教程所述: 使用Emacs打开文件clojure noob/src/clojure_noob/core。clj,您在第1章中创建的。接下来,使用M-x苹果酒插孔。这将启动REPL并创建一个新的缓冲区,您可以在其中与之交互。 在最后一条消息后将永远挂起: 我做错了什
我试图在我的一个项目中使用Clojure与emacs和苹果酒,并且在执行我的代码时经常发生异常。当发生异常时,苹果酒为我提供了一个堆栈跟踪,但通常这不足以快速识别出了什么问题。我正在寻找一些方法,使CIDER初始化一个REPL当异常发生时,这将允许我检查异常发生点的本地值,甚至可能改变一些值,并从该点继续执行。Clojure、Emacs和苹果酒有可能吗?
我不知道这是Emacs的一般问题还是clojure/苹果酒的具体问题。无论如何:如何传递在shell中工作并且当前在my~/中配置的环境变量。轮廓现在,如果我在我的项目中加入lein repl,这一切都很好: 但当我在项目中插入苹果酒时,苹果酒repl无法看到变量: 我正在使用Emacs版本24.4的GUI(Cocoa)版本。50.苹果酒版本为苹果酒-20140718.747。
我正在尝试在安装苹果酒软件包的情况下运行Clojure emacs。我使用Emacs24.5。1在Mac OS X 10.10上。4. 我下载了脚本,并在~/Dropbox/bin中复制了脚本。我与莱恩·雷普(lein repl)确认Clojure工作正常。 苹果酒包装与M-x包装安装一起安装。我编辑了指定lein脚本:中,提示Emacs中不能启动'lein`REPL。 但是,当我启动emacs并