Sim*_*Sim 8 common-lisp asdf quicklisp
我想通过asdf向已知项目添加一个本地项目,但由于*central-registry*aslis由quicklisp 安装和配置,并且指向"#P/home/user/quicklisp/quicklisp /",其中包含.lisp文件.我不知道该怎么做,因为手册解释了目录中的符号链接会做到这一点,但我不想在quicklisp里乱搞.(它确实可以作为修补程序使用!)
因此:如何将本地项目添加到由quicklisp安装和配置的asdf(NOT QUICKLISP)?
Dai*_*rod 13
如果使用Quicklisp,则可以使用~/quicklisp/local-projects/在其他目录之前扫描的专用
目录.要使用它,只需将项目或符号链接.
(quickproject:make-project "~/quicklisp/local-projects/my-new-website/"
:depends-on '(restas parenscrit cl-who))
(quickproject:make-project "~/src/lisp/my-cool-gui/"
:depends-on '(qt))
$ ln -s ~/src/lisp/my-cool-gui ~/quicklisp/local-projects/my-cool-gui
Run Code Online (Sandbox Code Playgroud)
但是,如果您确实要ASDF按照文档中的说明
进行配置.
例如,您可以这样:
(:directory "~/src/lisp/my-project-XYZ/")
Run Code Online (Sandbox Code Playgroud)
在你~/.config/common-lisp/source-registry.conf.d/my-asdf.conf的添加目录,或
(:tree "~/src/lisp/")
Run Code Online (Sandbox Code Playgroud)
如果您想要扫描所有子目录.
小智 5
由于asdf:*central-registry*不只是一个路径,它是路径名的列表.你可以简单地做:
(push "/path-to-your-project/" asdf:*central-registry*).如果使用SBCL,可以将此行添加到〜/ .sbclrc.