Как я могу восстановить отредактированный модуль perl6, который я скачал?

Я установил Time::Duration, и он не прошел большинство тестов. Я хочу иметь возможность перестроить модуль - с моими изменениями - из локально сохраненного модуля.

Я отредактировал файл, который содержит модуль (который соответствует Duration.pm6):

~/.perl6/sources/D00C101A0157E3EAC494310C9961F299240423E7

А затем попробуйте собрать его через файл json:

zef --debug build ~/.perl6/dist/83839D8D315EEDEDFEAF211EE42E8D936ACE29CB

Это возвращает:

===> # SKIP: No need to build Time::Duration:ver<2.00>
!!!> Build failure: ~/.perl6/dist/83839D8D315EEDEDFEAF211EE42E8D936ACE29CB at ~/.perl6/dist

Я надеялся, что это перестроит модуль с изменениями, внесенными в исходный код.

Я сделал это неправильно, или я поступаю по этому поводу совершенно неправильно?

2 ответа

Решение

Как уже было отмечено, вам не следует изменять установленные файлы. Тем не менее, рабочий процесс для тестирования изменений некоторых модулей довольно прост.

Первый:

# Fetch and extract the distribution, then change into its directory.
# If the distribution is still in zef's local file cache then it will
# skip the fetch and extraction steps.

zef look Time::Duration

Затем:

На данный момент вы можете редактировать любые файлы, которые вы хотите.

В заключение:

# test your changes without reinstalling (assumes all dependencies are installed)
zef test .

# Reinstall the modified version of Time::Duration using one of the following:
zef install . --force-install
zef uninstall Time::Duration && zef install .

Вам следует git clone код или скачайте zip-пакет, отредактируйте нужный код, затем zef install . если в текущем каталоге есть файл META6.json.

Другие вопросы по тегам