我的笔记本电脑上有一个简单的ASDF系统。我可以做“M-X粘液负载系统”,它加载。我可以调用一个包导出的函数。
当我在本地运行另一个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中编译/加载它。
如果我将源代码rsync到远程系统的〜/ common-lisp /,则slime-load-system可以工作。这很好,但感觉不对,这个额外的步骤。
如何在没有rsyncing的情况下使其工作?
答案 0 :(得分:3)
Asdf适用于路径名,因此如果您无法在远程系统上引用本地系统上的文件的路径名,则无法加载该系统。我不知道有任何Lisp可以让你制作这样的路径名,所以我认为你需要设置其他东西。我的建议是使用sshfs或类似的东西来允许远程系统透明地访问本地系统上的文件。