1

我的笔记本电脑上有一个简单的 ASDF 系统。我可以做“MX slime-load-system”,它会加载。我可以调用由其中一个包导出的函数。

当我在本地运行另一个 Emacs 实例并使用 slime-connect 连接到远程 Swank 并加载系统时,我得到:

Component "<system-name>" not found
   [Condition of type ASDF/FIND-SYSTEM:MISSING-COMPONENT]

Restarts:
 0: [RETRY] Retry ASDF operation.
 1: [CLEAR-CONFIGURATION-AND-RETRY] Retry ASDF operation after resetting the configuration.
 2: [ABORT] Abort compilation.
 3: [*ABORT] Return to SLIME's top level.
 4: [ABORT] abort thread (#<THREAD "repl-thread" RUNNING {100346E7C3}>)

Backtrace:
  0: ((:METHOD ASDF/OPERATE:OPERATE (SYMBOL T)) ASDF/LISP-ACTION:LOAD-OP "<system-name>") [fast-method]
...
and more

我想要实现的是将系统加载到远程 lisp、在本地编辑代码以及在远程 lisp 中编译/加载它的能力。

如果我将源代码同步到远程系统上的 ~/common-lisp/ ,则 slime-load-system 可以工作。很好,但是感觉不对,这个额外的步骤。

如何在没有 rsyncing 的情况下使其工作?

4

1 回答 1

3

Asdf 适用于路径名,因此如果您无法在远程系统上创建路径名来引用本地系统上的文件,那么您将无法加载该系统。我不知道有任何 Lisp 可以让你创建这样的路径名,所以我认为你需要设置其他东西。我的建议是您使用 sshfs 或类似的东西来允许您的远程系统透明地访问本地系统上的文件。

于 2017-12-01T12:28:34.310 回答