10

我已经安装了 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

我希望这将通过我对源代码所做的更改来重建模块。

我做错了吗,还是我完全错了?

4

2 回答 2

12

正如已经指出的那样,您不应该修改已安装的文件。但是,测试某些模块更改的工作流程非常简单。

第一的:

# 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 .
于 2019-01-03T19:09:32.237 回答
6

您应该git clone代码或下载 zip 包,编辑您想要的代码,然后zef install .如果当前目录有一个META6.json文件。

于 2019-01-03T13:58:47.567 回答