如何在Raku中指定github存储库作为模块依赖项的来源?

问题描述

我的模块依赖于Fcntl模块(https://github.com/manchicken/perl6-Fcntl),该模块很长时间没有更新,并且已损坏。但是,如果我手动zef install,有一个叉子(https://github.com/jonathanstowe/perl6-Fcntl)对我有用。是否可以在模块的META-6.json中指定依赖项,以便使用正确的github存储库来安装模块?

解决方法

否,您不能将uri列为依赖项。规范实际上指出,META6.json中的依赖项名称应与use匹配。

如果您坚持不将名称空间集成到许多合作生态系统之一中,那么您仍然可以在安装说明中列出网址:

zef install MyModule https://github.com/foo/dependency.git

当用户提供uri到Zef时,它实际上被视为独立的生态系统,因此能够满足MyModule的依赖性。没关系-用户明确要求使用该来源。对于模块作者来说,不能确定从哪里下载依赖项(仅需要什么依赖项)。

所有说明可以解决问题的方法-派生模块,将auth字段更改为其他内容,列出(和useFcntl:auth<mynewauth>作为依赖项名称,然后将叉子添加到生态系统中。另外,您也可以颠倒这个版本。

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...