这是我的工作流程:我的 emacs 中有一个正在运行的 REPL,我创建了一个新系统。当我尝试使用我测试系统时(asdf:test-system :system)
出现Component :SYSTEM not found
错误。当然,当我重新启动 lisp 图像时,会找到该组件。
我的问题是:我可以向 ASDF 发信号告知目录中有一个新系统~/common-lisp/
吗?
我想我正在寻找的命令是这样的:(asdf:reload-systems)
这是我的工作流程:我的 emacs 中有一个正在运行的 REPL,我创建了一个新系统。当我尝试使用我测试系统时(asdf:test-system :system)
出现Component :SYSTEM not found
错误。当然,当我重新启动 lisp 图像时,会找到该组件。
我的问题是:我可以向 ASDF 发信号告知目录中有一个新系统~/common-lisp/
吗?
我想我正在寻找的命令是这样的:(asdf:reload-systems)
加载系统时清除配置有效。希望这也适用于测试它们:
* (asdf:load-system :test)
debugger invoked on a ASDF/FIND-SYSTEM:MISSING-COMPONENT in thread
#<THREAD "main thread" RUNNING {1001E0E533}>:
Component :TEST not found
Type HELP for debugger help, or (SB-EXT:EXIT) to exit from SBCL.
restarts (invokable by number or by possibly-abbreviated name):
0: [RETRY ] Retry ASDF operation.
1: [CLEAR-CONFIGURATION-AND-RETRY] Retry ASDF operation after resetting the
configuration.
2: [ABORT ] Exit debugger, returning to top level.
((:METHOD ASDF/OPERATE:OPERATE (SYMBOL T)) ASDF/LISP-ACTION:LOAD-OP :TEST) [fast-method]
0]
使用 restart #1使它在这里工作。但你也可以自己做:
* (asdf:clear-configuration)
NIL
* (asdf:load-system :test)
T
*
请注意,~/common-lisp/
默认情况下仅 ASDF 3.1.2 支持该路径,您可能需要检查哪个版本是您的。
有关详细信息,请参阅文档。