Как Добавить локальный проект в asdf, настроенный quicklisp
Я хочу добавить локальный проект к известным проектам asdf, но из - за того, что asdf был установлен и настроен quicklisp и *central-registry*
указывает на "#P/home/user/quicklisp/quicklisp/", который содержит .Лисп файлы. Я не знаю, как это сделать как руководство объясняет, что символическая ссылка в каталог сделает это, но я не хочу возиться внутри quicklisp. (Он работает как исправление, хотя!)
поэтому: как Добавить локальный проект asdf (не QUICKLISP), который был установлен и настроен quicklisp?
3 ответов
если вы используете 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
однако, если вы действительно хотите настроить ASDF
сделайте как объяснено в
документация .
например, вы можете поставить этот:
(:directory "~/src/lisp/my-project-XYZ/")
в своем ~/.config/common-lisp/source-registry.conf.d/my-asdf.conf
для
добавьте каталог или
(:tree "~/src/lisp/")
если вы хотите, чтобы все поддиректории будут отсканированный.
As asdf:*central-registry*
Это не просто один путь, это список путей. Вы можете просто сделать:
(push "/path-to-your-project/" asdf:*central-registry*)
.
Если вы используете SBCL, вы можете добавить эту строку в ~/.sbclrc.
руководство ASDF имеет в 3:
начиная с ASDF 2, предпочтительный способ настроить, где ASDF находит ваш системы-это средство регистрации источников, полностью описанное в своем собственном глава этого руководства. См.управление, где ASDF ищет системы.
пункт 7 в управление, где ASDF ищет системы is
исходный реестр будет настроен из системы каталог конфигурации / etc/common-lisp / source-registry.conf.д/ если он существует.
это расположение доступно в Debian и является тем, что я использую. По умолчанию Debian помещает источники загруженных библиотек CL в /usr/share/common-lisp/source
. Однако я не знаю (хотя и пытался выяснить), как это место стало известно ASDF.
Таким образом, вы можете добавить файлы с именами путей к этому местоположению, чтобы сделать эти имена путей известными ASDF. Я добавил файл, /etc/common-lisp/source-registry.conf.d/04-local.conf
С
(:дерево #p " / usr / local / share/common-lisp / source/")
и теперь я могу поместить источники локально загруженных библиотек CL в /usr/local/share/common-lisp/source/
и они будут видны ASDL. The :tree
синтаксис описан в
настройка ASDF для поиска ваших систем.
asdf:* central-registry * теперь амортизируется. См.подраздел 3.2: настройка ASDF для поиска ваших систем-old style.