【问题标题】:Emacs, Clojure, lein and nrepl: *nrepl* buffer shows up blankEmacs、Clojure、lein 和 nrepl:*nrepl* 缓冲区显示为空白
【发布时间】:2013-08-15 01:27:18
【问题描述】:

我用lein 创建了一个新项目。我在 emacs 中打开 core.clj。我确保运行M-x clojure-modeM-x nrepl-enable-on-existing-clojure-buffers

然后我运行 M-x nrepl-jack-in 并在我得到的迷你缓冲区中

正在启动 nREPL 服务器...

后跟一条消息,例如:

已连接。如果你优化一切,你一定会不高兴。 -唐纳德​​·高德纳

我看到缓冲区名称是 *nrepl*,但缓冲区不包含 Clojure Repl,而是完全空白。

如果我输入任何内容(意味着任何内容),我会得到:

错误类型参数:integer-or-marker-p, nil

如果我切换回我的core.clj 缓冲区,然后点击C-c C-l,我会在小缓冲区中获得缓冲区中最后一个函数的命名空间名称。如果我将光标放在函数定义的末尾并点击C-x C-e,我会得到:

CompilerException java.lang.RuntimeException: 无法解决 符号:x 在此上下文中,编译:(NO_SOURCE_PATH:1:1)

我尝试使用lein new project-name 创建一个没有依赖关系的新 lein 目录,并尝试了与上述相同的步骤并得到了相同的结果。

我还能检查什么和/或我做错了什么?

编辑:附加信息

当我在空的*nrepl* 缓冲区中输入内容并尝试在我输入的内容上按C-x C-e 时,在迷你缓冲区中我会收到以下消息:

没有 Lisp 子进程;见变量 `inferior-lisp-buffer'

另外,我正在跑步:

GNU Emacs 24.3.1

Java 1.6.0_27 OpenJDK 64 位服务器虚拟机上的 Leiningen 2.1.2

【问题讨论】:

  • 哪个版本的emacs?为了排除任何环境问题,我建议从 emacs 入门套件包和 Emacs 24 开始。
  • 尝试在外部 shell 中启动 repl 服务器,只连接 nrepl。此外,尽可能多地停用次要模式(自动完成等)并暂时重命名 ~/.lein/ 中的 leiningen profiles.clj。如果这为您提供了一个有效的 REPL,请逐步启用功能。
  • 我已经完全按照您的步骤进行了尝试,对我来说效果很好。你没有做错任何事(尽管你的步骤,我通常要做的就是 nrepl-jack-in,clojure-mode 与 .clj 文件相关联,我什至不知道 nrepl-enable-on-existing -clojure 缓冲区)。你在用 lein 2 吗?
  • Java 1.6.0_27 OpenJDK 64 位服务器虚拟机上的 Leiningen 2.1.2
  • 更多信息:我重新定位了我安装的所有与 clojure 相关的软件包(nrepl、clojure 模式等),创建了一个几乎为空的 .emacs 的全新用户,并使用 package/marmalade 进行安装clojure 模式和 nrepl,并且此错误不会消失。更新:我不知何故错过了一些东西。通过完全清空我的 .emacs.d,并重新安装 clojure-mode 和 nrepl,我以某种方式摆脱了引发此错误的东西。

标签: emacs clojure leiningen nrepl


【解决方案1】:

我刚刚在自己的设置中解决了这个确切的问题。将您的 .emacs.d 移动到备份位置,并制作 .emacs 的备份副本。使用以下行创建一个新的 .emacs:

(require 'package)

(add-to-list 'package-archives 
    '("marmalade" .
      "http://marmalade-repo.org/packages/"))

(package-initialize)

(require 'clojure-mode)

(require 'nrepl)

通过运行M-x package-list-packages 安装nrepl 和clojure-mode 并安装它们各自的条目后,您将能够使用nrepl。

一次将您的自定义 .emacs 添加回一个逻辑单元,您应该能够找出冲突所在并消除它。怀疑任何与粘液 / swank 相关的东西。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-06-12
    • 2012-10-17
    • 1970-01-01
    • 2015-04-28
    • 1970-01-01
    • 1970-01-01
    • 2014-07-22
    • 2023-03-22
    相关资源
    最近更新 更多