如果模块已在项目中定义,如何在 Raku 项目中使用多个模块?

Raw*_*ler 6 rakudo raku

我正在尝试用 Raku 编写模块,当时将一个功能分解到另一个.rakumod文件中对我来说是有意义的。编译时如何将这些文件链接在一起?

我尝试通过以下方式将其他模块拉到我的主模块:

use MyProject::OtherModule;
Run Code Online (Sandbox Code Playgroud)

但我收到一个错误,即使它们并排在目录中,它也找不到此模块。我尝试查看 Raku 世界中的一些 OSS 项目,其中大多数都是一个文件,编译器 Rakudo 似乎使用多个模块文件,但我不知道它们是如何链接的。

每次我想运行我的项目时都必须发布这个模块吗?如果我的项目变得很大,我该如何构建它?当然,最好的解决方案不是将所有内容都放在一个文件中吗?

编辑:我还应该注意,我也在新模块的顶部使用了它:

unit module MyProject::OtherModule;
Run Code Online (Sandbox Code Playgroud)

Cok*_*oke 4

在本地运行时,如果您声明了 META6.json,则可以使用

raku -I. script.raku
Run Code Online (Sandbox Code Playgroud)

并且它将使用已卸载的版本,并且您不需要use lib在脚本中添加任何版本。