问题描述
假设我在net.aserve
和bordeaux-threads
之上构建了一个应用程序.我的包裹声明可能看起来像这样:
Let's say I build an application on top of net.aserve
and bordeaux-threads
. My package declaration might look like this:
(defpackage :my-package
(:use :cl :net.aserve :bordeaux-threads)
(:export …))
我使用Quicklisp,所以我在编译程序包之前在SLIME中运行(ql:quickload "aserve") (ql:quickload "bordeaux-threads")
,一切都很好.
I use Quicklisp, so I run (ql:quickload "aserve") (ql:quickload "bordeaux-threads")
in SLIME before compiling my package, and everything is fine.
当然,明天我将再次启动SLIME,并且必须记住在编译之前先发布QUICKLOAD
,否则我会遇到麻烦.
Of course, tomorrow I start up SLIME again and I have to remember to issue the QUICKLOAD
s before I compile, otherwise I'm in for trouble.
我可以输入类似的内容
(eval-when (:compile-toplevel)
(ql:quickload "aserve")
(ql:quickload "bordeaux-threads"))
在我的软件包的顶部-这是我所做的开发工作-但我觉得对用户强制使用软件包管理器不是一个好主意.
at the top of my package—it's what I've done for development—but I have a feeling it's not a good idea to force a package manager on a user.
还有更好的选择吗?
推荐答案
在您的asd文件中,您应按以下方式定义depends实作:''
In your asd file, you should define the depends realtion as below:''
(asdf:defsystem #:aserve
:serial t
:depends-on (#:hunchentoot :hunchentoot-cgi
#::bordeaux-threads
#:parenscript)
...)
之后,您只需要(ql:quickload:aserve).
After then you just need to (ql:quickload :aserve) .
这篇关于Quicklisp QUICKLOAD应该放在哪里?无处?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!