繁体   English   中英

在开发 Clojure 时,是否使用与 Emacs Cider 不兼容的 npm 运行开发环境?

[英]While developing Clojure, is running the dev environment with npm incompatible with Emacs Cider?

我是 Clojure 的新手,而不是 Javascript 的专家。 我正在观看Reagent课程的免费部分。

按照课程repo上的说明,在执行git clonenpm install之后,作者指示运行$ npm run dev 一切正常。 我可以在我的http://localhost:3000/上看到该应用程序。

由于我是 Emacs 的重度用户,我决定启动Cider ,这是一个 emacs 包,它使 Emacs 成为 Clojure 的 IDE。 因此,我会使用 REPL 进行交互式编程。

在 Emacs cider-jack-in执行后,返回错误。 Emacs 表示:

进程前哨错误:无法启动 nREPL 服务器:shadow-cljs - 配置:/home/pedro/projects/learn-reagent-course-files/giggin/shadow-cljs.edn shadow-cljs - 连接到服务器服务器已经运行

虽然在npm run dev之后无法进行cider-jack-in可以成功使用cider-jack-in 为此,我只需要退出所有内容,无需处理 npm,只需在 repo 上执行cider-jack-in即可。

为什么会这样? Emacs cider 与npm run dev不兼容吗? 与已经运行的服务器不兼容?

关于错误信息的内容,Cider、npm 进程和 shadow-cljs 之间是什么关系?

我不能评论任何 Cider/Emacs 特定的东西,因为我自己不使用它。 但是,我可以尝试弄清楚正在做的事情:

npm run dev只是运行npx shadow-cljs watch app (参见package.json "scripts" )。 它只是一个别名,使它更短一些。 因此,它启动 shadow-cljs 并开始app构建编译并持续关注变化。

另一方面,我相信cider-jack-in也会启动一个全新的 JVM,它将完全独立,不知道或连接到通过npm run dev启动的 shadow-cljs 进程。

可以只使用从cider-jack-in获得的 REPL 中的shadow-cljs ,但我不知道cider-jack-in可能已经为您做什么的任何细节。 也许关于 REPL 使用的文档可以提供一些帮助?

相反,您也可以跳过cider-jack-in ,而是让 Cider 连接到由npm run dev启动的shadow-cljs实例。 我相信该命令是cider-connect

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM