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

标签 package common-lisp 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")

记住这一点

The local-projects mechanism is configured through a special variable ql:*local-project-directories*. By default, it includes only the local-projects subdirectory in the Quicklisp install directory, but you can add or remove directories at any time to have more places scanned for systems. To disable the local-projects mechanism entirely, set ql:*local-project-directories* to NIL.

( Quicklisp News Blog )

关于package - 如何安排 Quicklisp 加载给定库的本地版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51008845/

相关文章:

java - 如何通过命令行知道java包

linker - 如何转储使用 osicat 的可执行 SBCL 镜像

pattern-matching - 有没有办法使用 trivia/optima 进行模式匹配 FSet 或 Sycamore?

common-lisp - 使用 Quicklisp 安装后使用迭代

lisp - 如何配置 quicklisp 以供离线使用?

package - 如何使用 dune ocaml 将本地库包含到可执行文件中

ubuntu - 如何在 Ubuntu 中的 CLISP 下包含 "port"包

python:用户站点中的包不会覆盖 ubuntu 上的 dist-packages

lisp - 制作midi实例:midifile

design-patterns - 口齿不清 : dynamic scope vs explicit parameter passing