如何破解已安装的 perl6 模块源?
How to hack on installed perl6 module source?
我希望能够查看和更改已安装(通过 zef
)perl6 模块的源代码。我该怎么做?
在我的系统上,模块源代码在 ~/.perl6/sources/
下,~/.perl6/dist/
中还有一些关于模块的元数据文件。
我也可以使用 zef locate ...
来显示模块的源路径,但是直接对源文件进行更改似乎没有任何效果(即 use
来自 REPL 的模块不显示我的更改)。
我猜这是因为模块是预编译的,当我以这种方式直接对模块源文件进行更改时,perl6 不会获取我的更改并重新预编译模块...
更新:删除 ~/.perl6/precomp/...
下相应的预编译文件似乎可行,但我不确定如何以及是否会弄乱任何东西。
I'd like to be able to view and make changes to the source code of installed (via zef) perl6 modules. How can I do that?
请不要那样做。安装的模块应该是不可变的,正如您所发现的:如果有可用的模块的 pre-compiled 版本,它将 而不是 检查原始源文件是否有已更新。那是因为它没有必要,因为它被认为是不可变的。
如果您想测试已安装模块的更改,请下载 tar 文件/git 克隆模块的分发版,在其中进行所需的更改,然后执行:
zef install . --force-install
在分发的顶级目录中。这将为您 re-install 模块和处理 pre-compilation。
我希望能够查看和更改已安装(通过 zef
)perl6 模块的源代码。我该怎么做?
在我的系统上,模块源代码在 ~/.perl6/sources/
下,~/.perl6/dist/
中还有一些关于模块的元数据文件。
我也可以使用 zef locate ...
来显示模块的源路径,但是直接对源文件进行更改似乎没有任何效果(即 use
来自 REPL 的模块不显示我的更改)。
我猜这是因为模块是预编译的,当我以这种方式直接对模块源文件进行更改时,perl6 不会获取我的更改并重新预编译模块...
更新:删除 ~/.perl6/precomp/...
下相应的预编译文件似乎可行,但我不确定如何以及是否会弄乱任何东西。
I'd like to be able to view and make changes to the source code of installed (via zef) perl6 modules. How can I do that?
请不要那样做。安装的模块应该是不可变的,正如您所发现的:如果有可用的模块的 pre-compiled 版本,它将 而不是 检查原始源文件是否有已更新。那是因为它没有必要,因为它被认为是不可变的。
如果您想测试已安装模块的更改,请下载 tar 文件/git 克隆模块的分发版,在其中进行所需的更改,然后执行:
zef install . --force-install
在分发的顶级目录中。这将为您 re-install 模块和处理 pre-compilation。