当前位置: 首页 > 知识库问答 >
问题:

在Emacs苹果酒REPL中重新装入包装的戒指

霍锦
2023-03-14

当通过reload wrap从Emacs苹果酒REPL内启动环形服务器时,REPL会阻塞。为了在开发过程中重新加载代码,同时能够继续使用Cider REPL,我可以做些什么呢。

另外,在通过点击C-C-C从REPL中取消正在运行的服务器“进程”后,我无法在同一端口上重新启动它,我得到了“地址已在使用”错误。

我知道斯图尔特·塞拉的组件系统可以做到这一点。这是唯一的方法还是有更简单的解决方案

共有2个答案

仰雅昶
2023-03-14

更简单的解决方案是,将web服务器存储在dev/user中的某个位置,就像组件一样。clj。并配置cider refresh fn变量以启动和停止web服务器。实际上,idea与组件方法相同,但是您不必使用它,

易瀚漠
2023-03-14

当您启动环服务器(我猜是使用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并