Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/http/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何链接到Scribble中的第三方Racket文档?_Racket_Code Documentation_Scribble - Fatal编程技术网

如何链接到Scribble中的第三方Racket文档?

如何链接到Scribble中的第三方Racket文档?,racket,code-documentation,scribble,Racket,Code Documentation,Scribble,我正试图链接到第三方(而不是核心)库提供的Scribble文档(特别是),但我很难让它正常工作 通过这些进口: @require[scribble/manual scribble-abbrevs/manual scribble/example racket/sandbox @for-label[(only-in racket (foldl f:foldl)

我正试图链接到第三方(而不是核心)库提供的Scribble文档(特别是),但我很难让它正常工作

通过这些进口:

@require[scribble/manual
         scribble-abbrevs/manual
         scribble/example
         racket/sandbox
         @for-label[(only-in racket
                             (foldl f:foldl)
                             (foldr f:foldr))
                    (only-in data/collection
                             (foldl d:foldl)]]
以下链接指向Racket内置文档:

@racketlink[f:foldl "foldl"]
但对于
数据/采集
版本:

@racketlink[d:foldl "foldl"]
。。。导致以下错误:

raco setup: WARNING: undefined tag in <pkgs>/relation/scribblings/relation.scrbl:
raco setup:  (undef "--UNDEFINED:d:foldl--")
raco setup:  ((lib "data/collection.rkt") foldl)

我尝试了几种不同的方法,但都没有成功——比如,我在扫描文档时没有发现
lib
链接是如何工作的——路径到底指的是什么?显然,“scribblings”不是指本地scribblings文件夹,而是指某种全局文档路径。但是如何知道特定库的文档使用哪条路径呢?这可能比上面主要的问题更像是次要问题,但是您可以在这里提供的任何信息都会有所帮助。

问题在于您只安装了
集合库。这不包括其文档,该文档位于
collections doc

因此,要么安装包
collections doc
,要么安装(meta-)包
collections
,其中将包括
collections lib
collections doc
。然后,运行
raco设置关系
,重新呈现文档。这对于您自己的构建就足够了

您可能还应该修改
info.rkt
,以便安装您的软件包的其他人下载所需的依赖项。有两种方法可以设置它

  • 一种简单的方法是将
    collections
    放入
    deps
    ,这将要求用户安装元包
    collections
    ,从而安装
    collections lib
    collections doc
  • 更困难的方法是将
    集合库
    放入
    deps
    (您已经这样做了)并将
    集合文档
    放入
    构建deps
    。这种方法的一个优点是,如果用户将您的软件包安装为,则无需下载构建文档所需的所有工具(这将预先呈现文档)

我无法重现该问题
@racketlink[d:foldl“foldl”]
对我来说工作正常。您是否安装了
集合
集合库
。。“集合库”包含在my
info.rkt的
(deps…
中。还尝试将其添加到
(build deps…
。仍然是相同的错误。是否还有其他地方需要添加它才能作为文档阶段的依赖项找到?我的库代码能够在
数据/收集
中找到函数。好的,我删除了包,然后使用
raco
重新安装了包,这似乎消除了错误消息。是这样吗当在
info.rkt
中添加新的Dep时,需要这样做吗?目前,构建文档不再抱怨,但生成的html输出仍然显示出一个死链接。我认为这是因为
数据/收集
文档在我的机器上不在本地可用。你知道如何在本地构建这些文档吗?如果你不知道的话I’我想发布其中任何一个作为答案,我很乐意接受。也希望您能对上面的
lib
arg进行任何澄清。FTR看起来问题并没有消失。如果有人有兴趣深入了解这一点,我正在构建的包是,pegged。运行
make
显示构建选项。Thank you,这就是诀窍,很高兴了解关于二进制软件包的考虑。我想
raco setup
raco setup--pkg
之间有一些区别,因为当我在添加正确的依赖项后最初执行后者时,错误消息仍然存在,但运行前者是有效的。感谢救命啊!
@tech[#:doc '(lib "scribblings/data/collection/collections.scrbl")]{"foldl"}