You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Common Lisp源码中使用Quicklisp库?SBCL脚本提示QL包不存在

解决SBCL脚本模式下无法使用Quicklisp的问题

问题原因

用sbcl --script运行脚本时,SBCL默认不会加载Quicklisp的初始化配置,导致QL包未被定义,调用ql:quickload就会报错。

解决办法

方法1:在脚本开头手动加载Quicklisp

找到你本地Quicklisp的setup.lisp文件路径(通常在C:\Users\<你的用户名>\quicklisp\setup.lisp),在Server.lisp最顶部添加加载代码:

; 替换成你自己的quicklisp路径,注意用斜杠或双反斜杠
(load "C:/Users/你的用户名/quicklisp/setup.lisp")
(ql:quickload "usocket")

; 你的TCP服务器代码...

方法2:通过命令行参数先加载Quicklisp

不用修改脚本,直接在命令行先加载Quicklisp初始化文件,再运行脚本:

sbcl --load "C:/Users/你的用户名/quicklisp/setup.lisp" --script Server.lisp

方法3:设置Quicklisp为SBCL默认启动项

在SBCL的REPL中执行以下代码,将Quicklisp添加到SBCL的初始化文件:

(ql:add-to-init-file)

执行后,后续不管是启动REPL还是用sbcl --script运行脚本,SBCL都会自动加载Quicklisp,无需手动处理。

内容的提问来源于stack exchange,提问作者Tanzina Rahman Smita

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.11 21:12:30