При установке quicklisp в Windows 10, куда я должен поместить ~/.config/common-lisp/source-registry.conf.d/projects.conf, чтобы найти ASDF?
Я пытаюсь запустить Common Lisp на моем компьютере с Windows 10, и у меня возникла проблема с получением ASDF/(ql:quickload "...")
загрузить проект. Я сгенерировал данный проект с помощью следующей команды (после создания C:\Users\ig88t\src\lisp
папка):
(ql: quickload "quickproject")
(quickproject: make-project "~ / src / lisp / swatchblade /": зависит от "(vecto hunchentoot))
Который правильно генерирует проект, и я могу просмотреть источник на ~/src/lisp/swatchblade
,
Но я не могу загрузить его через
(ql: быстрая загрузка "swatchblade")
Вместо загрузки я получаю сообщение об ошибке
Система "swatchblade" не найдена [Состояние типа QUICKLISP-CLIENT:SYSTEM-NOT-FOUND]
Я расскажу о двух руководствах, одно из которых написал Xach, а другое специально для Windows. Xach рекомендует ~/.config/common-lisp/source-registry.conf.d/projects.conf
тогда как второй рекомендует ~/.config/common-lisp/source-registry.conf.d/asdf.conf
, В настоящее время я использую версию, написанную Xach, так как она работала для меня в Linux.
Судя по мануалу для ASDF кажется, что ~/AppData/Local/
где я должен хранить .config/common-lisp/source-registry.conf.d/projects.conf
, Я пытался сохранить его в ~/AppData/Local/config/...
так же как ~/AppData/Local/.config/...
но безрезультатно. Я заметил, что Clozure CL устанавливает некоторые данные QuickLisp в ~/AppData/Local/common-lisp
Пыталась выложить source-registry.conf.d
папка там как в ~/AppData/Local/common-lisp/source-registry.conf.d/projects.conf
также, но это не сработало.
Я пробовал много разных вариантов размещения папки в разных местах, но мне не удалось найти правильный. Я был бы очень признателен за любую помощь / предложения от любого, кто использует Common Lisp и Quicklisp на Windows.
Я использую Clozure CL, 1.11.5 и двоичный файл wx86cl64, который поставляется с версией ASDF 3.1.5 на случай, если это имеет значение.
--- редактировать ---
Поговорив с Xach об этой проблеме, я попытался:
(quickproject: make-project "~ / quicklisp / local-projects / swatch": зависит от "(vecto hunchentoot))
а затем побежал:
(QL: регистр-местные-проекты)
но после запуска:
(ql: быстрая загрузка "swatch")
это снова не удалось с:
Системный "образец" не найден [Состояние типа QUICKLISP-CLIENT:SYSTEM-NOT-FOUND]
Он сказал, что это может быть связано с этим пиаром для быстрого проекта.
--- редактировать № 2 ---
Я недавно пытался использовать SBCL, и все, казалось, работало. Я мог бы создавать проекты, используя quickproject
и загрузить их. Обратите внимание, что я не могу загрузить проекты, созданные с quickproject
под CCL
, Однако, когда я перезапускаю slime / emacs, я не могу загрузить проекты, ранее созданные в SBCL
,
; SLIME 2.20
CL-USER> (ql:quickload "quickproject")
To load "quickproject":
Load 1 ASDF system:
quickproject
; Loading "quickproject"
("quickproject")
CL-USER> (quickproject:make-project "~/quicklisp/local-projects/test/"
:depends-on '(vecto))
"test"
CL-USER> (ql:quickload "test")
To load "test":
Load 1 ASDF system:
test
; Loading "test"
[package test]
("test")
CL-USER>
--- антракт... перезапуск слизи ---
; SLIME 2.20
CL-USER> (ql:quickload "test")
; Evaluation aborted on #<QUICKLISP-CLIENT:SYSTEM-NOT-FOUND {10034555B3}>.
CL-USER>
Поэтому я понятия не имею, что может быть причиной проблемы или как ее решить, но похоже, что создание / загрузка проектов никогда не работает в Clozure CL и работает только в рамках текущего сеанса в SBCL.
--- редактировать № 3 ---
Кажется, я ошибался насчет SBCL. Кажется, когда я бегу
(quickproject:make-project "~/quicklisp/local-projects/test/"
:depends-on '(vecto))
Создает папку в C:\Users\ig88t\AppData\Roaming\quicklisp\local-projects
и не в C:\Users\ig88t\quicklisp\local-projects
, Он может загружать проекты, созданные в текущем сеансе, как я говорил ранее, но не может найти их в новом сеансе.