#module #version #raku
#модуль #версия #raku
Вопрос:
Возможно ли добавить минимальную версию к модулю, указанному в depend
разделе META6.json
файла?
Ответ №1:
Он использует тот же синтаксис, что и Version
класс. Вы можете использовать, например, v1.0
, или, в META6.json, просто «1.0 «
Комментарии:
1. Как бы мне добавить версию к имени модуля:
..., "depends" : [ "Required::Modul:ver<1.0 >" ], ...
?2. @sid_com это правильно. Смотрите также ответ ugexe выше.
Ответ №2:
Чтобы объявить зависимость от Foo
версии 1 или выше, нужно было бы сделать то же самое, как если бы кто-то просил zef установить Foo:ver<1.0 >
:
zef install "Foo:ver<1.0 >"
"depends" : [
"Foo:ver<1.0 >"
]
Идентификаторы длинной формы используют литералы версии для атрибутов api
и ver
и строки для любых других (таких как auth
, file
, name
и т.д.). Итак, чтобы описать такую зависимость, вы должны написать ее так же, как если бы вы use
редактировали ее, используя литеральную форму :foo<...>
ala use Test:ver<6.d >
. Это противоречит :foo(...)
форме, которая может запускать что угодно, например use Test:ver(do { say 42; v6.d })
, которая допускала бы выполнение произвольного кода путем простого поиска зависимостей и, следовательно, не является допустимым способом описания чего-либо в META6.json