6

我希望能够查看和更改已安装(通过zef)perl6 模块的源代码。我怎样才能做到这一点?

在我的系统上,模块源在下面~/.perl6/sources/,并且还有一些关于~/.perl6/dist/.

我也可以zef locate ...用来显示模块的源路径,但是直接对源文件进行更改似乎没有任何效果(即,use来自 REPL 的模块不显示我的更改)。

我猜这是因为模块是预编译的,当我以这种方式直接对模块源文件进行更改时,perl6 不会接受我的更改并重新预编译模块......

更新:删除相应的预编译文件~/.perl6/precomp/...似乎可行,但我不确定这会如何以及是否会搞砸任何事情。

4

1 回答 1

9

我希望能够查看和更改已安装(通过 zef)perl6 模块的源代码。我怎样才能做到这一点?

请不要那样做。安装的模块应该是不可变的,正如您所发现的:如果有可用的模块的预编译版本,它不会检查原始源文件是否已更新。那是因为它不是必须的,因为它被认为是不可变的。

如果您想测试已安装模块的更改,请下载 tar 文件 / git clone 模块的发行版,在其中进行您需要的更改,然后执行以下操作:

zef install . --force-install

而在分发的顶级目录中。这将重新安装模块并为您处理预编译。

于 2019-05-10T21:38:55.357 回答