如何安排Quicklisp加载给定库的本地版本

Mic*_*ald 5 common-lisp package quicklisp

我正在使用Quicklisp在我的Common Lisp项目中加载库,我需要加载一些库的自定义版本,而不是Quicklisp提供的版本.

该库的自定义版本存储在Quicklisp的本地项目目录中,并且已注册本地项目.但Quicklisp仍尝试加载自己的库版本.

如何安排Quicklisp更喜欢图书馆的定制?(附带问题:我怎么能问Quicklisp它将用于加载库的位置?)

Xac*_*ach 6

如果项目的系统文件可以使用ASDF加载,则会优先加载Quicklisp提供的版本.最简单的方法是将项目的源放入~/quicklisp/local-projects/(或安装quicklisp而不是安装~/quicklisp/)并运行(ql:register-local-projects).但是其他方法,例如更新ASDF注册表配置以及通过注册表将项目放在ASDF已知的位置,也可以工作.

要了解Quicklisp加载项目的位置,您可以使用(ql:where-is-system "system-name").

记住这一点

local-projects机制是通过特殊变量配置的ql:*local-project-directories*..默认情况下,它仅包含Quicklisp安装目录中的local-projects子目录,但您可以随时添加或删除目录,以便为系统扫描更多位置.要完全禁用本地项目机制,请设置ql:*local-project-directories*NIL.

(Quicklisp新闻博客)