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

时间:2018-06-24 10:03:38

标签: package common-lisp quicklisp

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

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

如何安排Quicklisp偏爱图书馆的定制服务? (旁边的问题:我怎么问Quicklisp它将在哪个位置加载库?)

1 个答案:

答案 0 :(得分: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

https://spotbugs.github.io/eclipse/content.xml