2

我正在尝试创建一个可以放在网络上的可安装 Racket 包。我正在按照Racket 文档中开发包的说明进行操作。但是,当我按照这些说明创建包时,出现错误

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

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

4

1 回答 1

3

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

如果我正确阅读错误,它会抱怨,因为它tufts-comp50-2013f是 ; 的子集合(即子目录)handin50。在这种情况下,后者是顶级集合。解决方案是向上移动tufts-comp50-2013f一个目录。

错误似乎来自此源文件:宏中的https://github.com/plt/handin/blob/master/handin-client/this-collection.rkt 。this-name-stx注释断言代码需要位于其自己的顶级集合目录中,但并没有真正解释原因。

于 2013-09-15T16:11:29.867 回答