Зависимости модуля: возможно ли установить минимальную версию?

#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