Mic*_*ald 5 common-lisp package quicklisp
我正在使用Quicklisp在我的Common Lisp项目中加载库,我需要加载一些库的自定义版本,而不是Quicklisp提供的版本.
该库的自定义版本存储在Quicklisp的本地项目目录中,并且已注册本地项目.但Quicklisp仍尝试加载自己的库版本.
如何安排Quicklisp更喜欢图书馆的定制?(附带问题:我怎么能问Quicklisp它将用于加载库的位置?)
如果项目的系统文件可以使用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.