在程序开始时加载quicklisp的正确方法是什么?我目前正在复制/粘贴快速插入我的.eclrc的块中,例如
;;; quicklisp
(let ((quicklisp-init (merge-pathnames "quicklisp/setup.lisp"
(user-homedir-pathname))))
(when (probe-file quicklisp-init)
(load quicklisp-init)))
(ql:quickload "iterate")
Run Code Online (Sandbox Code Playgroud)
但似乎必须采用一种不那么混乱的方式来做事.
我最近一直在做我的第一个quicklisp项目,我想分享一下。我已将其放在github上,但并非每个人都安装了emacs + slime + quicklisp,因此我想制作一个可执行文件,可以将其放入代码中。
为此,我正在使用buildapp并遵循此 stackoverflow答案中列出的步骤。
$ sbcl --no-userinit --no-sysinit --non-interactive \
--load ~/quicklisp/setup.lisp \
--eval '(ql:quickload "ltk-colorpicker")' \
--eval '(ql:write-asdf-manifest-file "quicklisp-manifest.txt")'
$ buildapp --output out \
--manifest-file quicklisp-manifest.txt \
--load-system ltk-colorpicker \
--entry colorpicker
Run Code Online (Sandbox Code Playgroud)
运行这些命令后,出现以下错误:
Fatal INPUT-ERROR-IN-LOAD:
READ error during LOAD:
The symbol "*SYSTEM-DEFINITION-SEARCH-FUNCTIONS*" is not external in the ASDF/FIND-SYSTEM package.
Line: 16, Column: 90, File-Position: 15267
Stream: #<SB-INT:FORM-TRACKING-STREAM for "file /home/nathan/quicklisp/local-projects/ltk-colorpicker/dumper-2SKVI5f7.lisp" {1001B70F83}>
Run Code Online (Sandbox Code Playgroud)
这里的主要问题是我什至不知道如何开始修复它。我已经看到过这个 gibhub问题,但这与Homebrew的问题有关,甚至从未提及buildapp。一切都很混乱。我希望我能得到一些帮助。
预先感谢您的任何答案。