我是cl新手,刚学会用asdf-install安装包,但是不知道怎么弄源码目录,谢谢。
1 回答
简短回答:只需使用quicklisp。
长答案:如果您想了解包,或者更准确地说是 ASDF 系统的布局,这是一个好主意。其实,这没什么难的。
每个 ASDF 系统都应该有一个带.asd
扩展名的系统定义文件。该文件使用它们相对于 .asd 文件的路径、它们的类型(默认情况下:lisp 源代码)和依赖关系来命名系统的其他文件。你的 Lisp 应该知道在哪里可以找到系统定义文件。在 ASDF 中,有两种方法可以通知 Lisp:添加目录,在其中存储文件或符号链接,以asdf:*central-registry*
列出或设置特殊的配置文件(称为 source-registry - ASDF 手册中有更多内容)。
现在,如果你想手动安装系统,只需下载它的源代码,将它们解压到某个目录中(比如在/home/user/lib/lisp/
- 你可能会得到/home/user/lib/lisp/cl-ppcre-2.3.1/
,里面有cl-ppcre.asd
)。为了让你的 Lisp 发现它(push "/home/user/lib/lisp/cl-ppcre-2.3.1/" asdf:*central-registry*)
(并且不要忘记尾部的斜杠 - 这是必需的),然后你可以使用(asdf:oos 'asdf:load-op :cl-ppcre)
.
你也可以设置一个特殊的目录,在那里你将符号链接你现有的系统,比如/home/user/.lisp/
并将其添加到*central-registry*
Lisp 启动类型(例如 in .sbclrc
)。现在,如果您想暂时覆盖此目录中链接的某些系统,例如使用较新版本,则无需取消链接任何内容 - 只需将替代系统的路径推送到*central-registry*
.
Quicklisp 为您做这一切,还有更多……