idris-mode – 缓冲区 *idris-repl* 没有进程

idris-mode – Buffer *idris-repl* has no process

我正在尝试让 idris-mode 工作。我正在使用来自 idris-dev and idris-mode 的 HEAD。每当我执行 C-l (idris-load-file) 时,我都会收到此错误

Debugger entered--Lisp error: (file-error "make client process failed" "connection refused" :name "Idris Ideslave" :buffer "*idris-connection*" :host "127.0.0.1" :service 0 :nowait nil)
  make-network-process(:name "Idris Ideslave" :buffer "*idris-connection*" :host "127.0.0.1" :service 0 :nowait nil)
  open-network-stream("Idris Ideslave" "*idris-connection*" "127.0.0.1" 0)
  (setq idris-connection (open-network-stream "Idris Ideslave" (idris-buffer-name :connection) "127.0.0.1" port))
  .............snipped

每当我尝试 M-x idris-repl 时,它都会显示 Buffer *idris-repl* has no process

this 线程的结果是更新 git 的项目。但是,我使用的是每个项目的最新版本。

编辑:运行ning make 也失败了,但这可能是另一个问题。如果我手动结帐 0.9.16make 将通过,但上面的相同问题仍然存在。

编辑:我没有在本地安装这个,我 运行 从 cabal 沙箱中安装它。在 idris-settings.el 中,我将 idris-interpreter-path 更改为 idris 的完整路径。此外,当我在 emacs 之外 运行 idris 时,我会收到有关找不到前奏或内置函数的错误。如果我添加 -i path/to/idris/libs/prelude 那么一切正常。但是在 idris-settings.el 中的 idris-interpreter-flags 添加 "-i path/to/idris/libs/prelude" 并没有帮助

有点解决了这个问题。对于 idris-interpreter-flags ,您必须将每个实际参数作为单独的字符串提供(这很常见,我早该知道)。所以,如果我将 idris-interpreter-flags 设置为 '("-i" "/path/to/idris/libs/prelude") 那么一切都很好。所以我必须为 idris 附带的每个库目录添加路径。

这是如何工作的?这是正常要求吗?是不是因为我不是 运行 这是一个真正的 cabal 安装包,它没有在库中获取?