如何创建一个"顶级集合"对于球拍套餐?

时间:2013-09-14 19:36:40

标签: package racket

我正在尝试创建一个可以放在网上的可安装的Racket包。我正在关注Racket文档中的instructions for developing packages。但是,当我按照这些说明创建一个包时,我收到了错误

raco setup: error: during making for <user>/handin50/tufts-comp50-2013f (COMP 50)
raco setup:   *** Error: this collection must be a top-level collection

我在文档中找不到创建顶级集合的概念。

我尝试创建的特定包是handin客户端的副本,如handin服务器的文档中所述。遗憾的是,我无法在线链接到此文档的副本; handin服务器位于https://github.com/plt/handin,文档源位于https://github.com/plt/handin/blob/master/handin-server/scribblings/client-customization.scrbl

如果有任何指针解释如何创建顶级集合或任何其他解决方法,我将不胜感激。

1 个答案:

答案 0 :(得分:3)

顶级集合是集合根的直接子目录,如Racket安装的collects/目录。顶级集合的一些示例包括racketdbrackunit

如果我正在阅读错误,那就是抱怨,因为tufts-comp50-2013fhandin50的子集合(即子目录);后者是本案例中的顶级集合。解决方案是将tufts-comp50-2013f一个目录移动。

错误似乎来自此源文件:this-name-stx宏中的https://github.com/plt/handin/blob/master/handin-client/this-collection.rkt。这些评论声称代码需要位于自己的顶级集合目录中,但并不能解释原因。