Как взломать установленный модуль на perl6? - PullRequest
6 голосов
/ 10 мая 2019

Я бы хотел иметь возможность просматривать и вносить изменения в исходный код установленных (через zef) модулей perl6.Как я могу это сделать?

В моей системе источники модулей находятся под ~/.perl6/sources/, и есть также некоторый файл метаданных о модулях в ~/.perl6/dist/.

. Я также могу использоватьzef locate ..., чтобы показать исходный путь модуля, но внесение изменений непосредственно в исходные файлы, по-видимому, не имеет никаких последствий (т. Е. use модуль из REPL не показывает мои изменения).

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

ОБНОВЛЕНИЕ: Удаление соответствующих предварительно скомпилированных файлов в ~/.perl6/precomp/..., кажется, работает, но я не уверен, как и если это что-то испортит.

1 Ответ

9 голосов
/ 11 мая 2019

Я бы хотел иметь возможность просматривать и вносить изменения в исходный код установленных (через zef) модулей perl6. Как я могу это сделать?

Пожалуйста, не делай так. Установленные модули должны быть неизменными, и как вы узнали: если имеется предварительно скомпилированная версия модуля, он не проверит, обновлен ли исходный исходный файл. Это потому, что это не обязательно, потому что считается неизменным.

Если вы хотите протестировать изменения в установленном модуле, пожалуйста, скачайте tar-файл / git, клонируйте дистрибутив модуля, внесите необходимые изменения и выполните:

zef install . --force-install

в верхней директории дистрибутива. Это позволит переустановить модуль и обработать предварительную компиляцию для вас.

...