How can I rebuild an edited perl6 module that I've downloaded?

ⅰ亾dé卋堺 提交于 2019-12-10 12:38:08

问题


I've installed Time::Duration and it failed most of its tests. I want to be able to rebuild the module - with my edits - from the locally stored module.

I edited the file that contains the module (that corresponds to Duration.pm6):

~/.perl6/sources/D00C101A0157E3EAC494310C9961F299240423E7

And then try building via it's json file:

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

This returns:

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

I was hoping that this would rebuild the module with the change I made to the source.

Have I done this wrong, or am I going about this entirely wrong?


回答1:


As it has been noted already you should not modify installed files. However, the workflow for testing changes of some module is pretty straight forward.

First:

# 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

Then:

At this point you can edit any of the files you wish.

Finally:

# 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 .



回答2:


You should git clone the code or download the zip package, edit the code you want, then zef install . if the current directory have a META6.json file.



来源:https://stackoverflow.com/questions/54023388/how-can-i-rebuild-an-edited-perl6-module-that-ive-downloaded

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!