点子要求文件,ruby gemfile,node package.json等的lisp等效项是什么?我不确定是否可以正确使用asdf和quicklisp之间的关系。
最佳答案
.asd文件是需求文件。使用quicklisp安装要求。
使用ASDF定义“系统”。创建一个my-system.asd
文件。
(asdf:defsystem #:my-system
:serial t
:description "Describe my-system here"
:author "My Name <my.name@example.com>"
:license "Specify license here"
:depends-on (#:hunchentoot
#:cl-who)
:components ((:file "package")
(:file "dispatch")))
这将创建名为#:my-system的系统。我实际上不确定#代表什么,因为我已经在源代码中看到了没有它的系统定义。仅第一行是必需的。
:depends-on
告诉ASDF在处理此新系统定义之前先加载其他系统。在这种情况下,它将加载#:hunchentoot
和#:cl-who
。 :components
加载特定文件。加载package.lisp
和dispatch.lisp
。 :serial t
告诉它按顺序加载它。如果说dispatch.lisp
取决于package.lisp
中的某些内容(例如,首先需要加载package.lisp
),则这一点很重要。使用quicklisp在
:depends-on
中下载并安装依赖项。运行(ql:quickload "my-system")
。我还没有看到任何版本控制的迹象。
关于dependencies - 如何管理常见的Lisp依赖关系?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19718002/