3

我正在尝试让 idris-mode 工作。我正在使用idris-devidris-mode的 HEAD 。每当我执行 Cl (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

每当我尝试 Mx idris-repl 时,它都会声明Buffer *idris-repl* has no process.

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

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

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

4

1 回答 1

3

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

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

于 2015-03-13T17:59:59.907 回答