重新加载组件列表

Reload components list

这是我的工作流程:我在我的 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] 

使用重启#1使其在这里工作。但你也可以自己做:

* (asdf:clear-configuration)

NIL
* (asdf:load-system :test)

T
* 

请注意,~/common-lisp/ 路径默认仅在 ASDF 3.1.2 中受支持,您可能需要检查您的版本。

详情see the documentation