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