我目前正在Common Lisp中构建一个项目,并且正在使用ASDF。但是,我遇到了一些困难。即,当我运行时asdf:compile-system,它似乎可以编译。这样我就可以asdf:load-system成功。但是,位于某些文件中的某些功能仍未定义。为了让他们知道,我必须手动导航到该文件并进行编译。
这是系统的声明。有人可以告诉我我做错了什么吗?
(defsystem "xxx-xxxx"
:version "0.1.0"
:author ""
:license ""
:depends-on ("cl-mongo" "hunchentoot" "clack" "ningle" "cl-json" "hermetic" "lack-middleware-session" "cl-markup")
:components ((:module "src"
:components
((:file "packages")
(:file "lisp-utils")
(:file "xxx-xxxx" :depends-on ("packages"))
(:file "database" :depends-on ("packages"))
(:file "database-config" :depends-on ("packages"))
(:file "server" :depends-on ("packages"))
(:file "clack" :depends-on ("packages"))
(:file "routes/activities" :depends-on ("packages"))
(:file "route-processors" :depends-on ("packages")))))
:description ""
:long-description
#.(read-file-string
(subpathname *load-pathname* "README.markdown"))
:in-order-to ((test-op (test-op "xxx-xxxx-test"))))
Run Code Online (Sandbox Code Playgroud)
特别是,我在文件routes/activities和可能存在问题route-processors。
根据我对asdf的经验,系统定义中唯一不重要的就是“路由/活动”文件,因为子文件夹定义为模块。此文件应解决您的问题:
(defsystem "xxx-xxxx"
:version "0.1.0"
:author ""
:license ""
:depends-on ("cl-mongo"
"hunchentoot"
"clack"
"ningle"
"cl-json"
"hermetic"
"lack-middleware-session"
"cl-markup")
:components ((:module "src"
:components
((:file "packages")
(:file "lisp-utils")
(:file "xxx-xxxx"
:depends-on ("packages"))
(:file "database"
:depends-on ("packages"))
(:file "database-config"
:depends-on ("packages"))
(:file "server"
:depends-on ("packages"))
(:file "clack"
:depends-on ("packages"))
(:module "routes"
:components ((:file "activities"))
:depends-on ("packages"))
(:file "route-processors"
:depends-on ("packages")))))
:description ""
:long-description
#.(read-file-string
(subpathname *load-pathname* "README.markdown"))
:in-order-to ((test-op (test-op "xxx-xxxx-test"))))
Run Code Online (Sandbox Code Playgroud)
解决您的最后评论。出现异常的原因是,依赖项在依赖项的父项所在的列表中解析。因此,如果您说“活动”取决于“包”,但在模块中具有“活动”,则asdf会在该模块中搜索包/ subfolder,由于不存在而无法找到它。不管是否放任无关紧要,这就是它的工作方式。这也很有意义,因为模块通常描述一个逻辑一致的单元,因此依赖关系对于该单元是相似的,否则您可能需要重新考虑您的项目结构。
| 归档时间: |
|
| 查看次数: |
156 次 |
| 最近记录: |