如何将github repo指定为Raku中模块的依赖项源?

如何将github repo指定为Raku中模块的依赖项源?,github,module,raku,fcntl,Github,Module,Raku,Fcntl,我的模块依赖于Fcntlmodule(),该模块很长时间没有更新,并且已损坏。但是,如果我手动安装zef,则有一个fork()对我有效。是否可以在我的模块的META-6.json中指定依赖项,以便使用正确的github repo安装模块?否,您不能将uri列为依赖项。该规范实际上规定META6.json中的依赖项名称应该与使用的内容相匹配 如果您坚持不将名称空间集成到众多合作生态系统中的一个,那么您仍然可以在安装说明中列出URL: zef install MyModule https://git

我的模块依赖于
Fcntl
module(),该模块很长时间没有更新,并且已损坏。但是,如果我手动安装zef,则有一个fork()对我有效。是否可以在我的模块的
META-6.json
中指定依赖项,以便使用正确的github repo安装模块?

否,您不能将uri列为依赖项。该规范实际上规定META6.json中的依赖项名称应该与
使用的内容相匹配

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

zef install MyModule https://github.com/foo/dependency.git
当用户向zef提供uri时,它基本上被视为一个独立的生态系统,因此能够满足
MyModule
的依赖关系。这是正常的,用户明确请求使用该源。不允许的是,模块作者指定从何处下载依赖项(仅需要哪些依赖项)


所有这些都表明,您可以用不同的方式解决问题——使用fork模块,将
auth
字段更改为其他内容,列出(和
use
Fcntl:auth
作为依赖项名称,然后将fork添加到生态系统中。另一种选择是,您可以随意修改版本。

避免URI的想法是一个好主意,因为另一个原因:如果所有操作都是按模块名、作者名和版本完成的,那么依赖关系可以由CPAN等生态系统存储库长期维护。如果允许URI,然后,link-rottage就可以相当快地设置并中断模块,而潜在的资源很少。