gpt4 book ai didi

emacs - 在 Emacs Cider REPL 中使用 reload-wrap 环

转载 作者:行者123 更新时间:2023-12-02 04:11:46 24 4
gpt4 key购买 nike

当通过 reload-wrap 从 Emacs Cider REPL 中启动 Ring 服务器时,REPL 会阻塞。我该怎么做才能在开发期间拥有此代码重新加载功能并能够同时继续使用 Cider REPL。

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

我知道这可以通过 Stuart Sierra 的组件系统实现。这是唯一的方法还是可能有更简单的解决方案?

最佳答案

当您启动您的环形服务器(我猜是使用码头)时,您并没有告诉它不要将当前线程加入到正在运行的服务器。您需要添加 join? 选项设置为 false:

(run-jetty my-handler {:join? false})

你还应该绑定(bind)这个表达式的返回值,它是服务器实例,所以你可以稍后停止它:

(def my-server (run-jetty my-handler {:join? false}))
;; some time later
(.stop my-server)

停止服务器将关闭服务器套接字并使其可用于 future 的服务器实例。

关于emacs - 在 Emacs Cider REPL 中使用 reload-wrap 环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36283251/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com