zef是否识别并处理预发布模块?

时间:2018-08-27 09:06:39

标签: module perl6 zef

我有一个模块App::Assixt,最近我对其进行了较大的更改。我当然已经在本地系统上对其进行了测试,但是希望在对其进行“稳定发布”之前对其进行一些现场测试。

是否有一种方法可以将该版本“标记”为“ alpha”或“候选版本”,因此该版本仅由选择使用不稳定/测试版本的人员安装?

1 个答案:

答案 0 :(得分:3)

zef将版本与Perl 6相同:

# true because "1.0.a" < "1.0.0"
$ perl6 -e 'say Version.new("1.0.PREVIEW") < Version.new("1.0")'
True

如果安装了Foo:ver<1.0.PREVIEW>,则可以用作Foo:ver<1.0.PREVIEW>Foo:ver<1.0>。这意味着以后安装了Foo:ver<1.0.PREVIEW>的所有系统都将需要卸载它以升级/安装Foo:ver<1.0>(除非使用--force-install),而且作者可以为最终版本编写代码。而无需在各处声明多余的.PREVIEW

这对于发布来说不是很有用-默认情况下,即使用户没有选择使用任何版本控制方案,zef都会获取最新版本。由于用户要选择加入,因此有两个选择。


1)创建例如不稳定,测试,稳定的索引并说服人们使用它们

这可以通过将zef配置复制到%*ENV<XDG_CONFIG_HOME>/zef/config.json并合并以下内容来完成:

"Repository" : [
    {
        "short-name" : "unstable",
        "enabled" : 0,
        "module" : "Zef::Repository::Ecosystems",
        "options" : {
            "name" : "unstable",
            "mirrors" : [ "/path/or/url/to/package/list.json" ]
        }
    }
]

允许:

zef install Foo::Bar --unstable

2)给出不发布资源的链接

zef install https://github.com/ugexe/Perl6-Text--Table--Simple.git@v0.0.4
zef install https://github.com/ugexe/Perl6-Text--Table--Simple/archive/v0.0.3.zip