module - 在 Windows 7 上找不到 File::Find Raku
问题描述
我有一个非常简单的程序,它列出.txt
了给定目录中的所有文件。这个程序在我的 Rakudo Star 版本 2019.03.1 的 Mac 上完美运行
use File::Find;
my $folder="../Documents";
.say for find dir => $folder, name => /'.txt' $/;
当我尝试在具有 Raku 2020.12.1 的 Windows 7 上运行相同的程序时,它给出了以下信息:
$ raku html-adder.rk
===SORRY!=== Error while compiling C:\Users\lars\raku/html-adder.rk
Could not find File::Find in:
inst#C:\Users\lars\.raku
inst#C:\Programs\rakudo-moar-2021.02.1\share\perl6\site
inst#C:\Programs\rakudo-moar-2021.02.1\share\perl6\vendor
inst#C:\Programs\rakudo-moar-2021.02.1\share\perl6\core
ap#
nqp#
perl5#
at C:\Users\lars\raku/html-adder.rk:12
我已将 Raku 更新到版本 Raku 2021.02.1 并再次出现相同的错误。我已经通过解压缩rakudo-moar-2021.02.1-01-win-x86_64-msvc.zip
ie而不使用任何安装程序来安装它。至于 Mac 上的 Raku,我不记得安装了File::Find
模块,也不知道如何列出已安装的模块,即我没有检查是否File::Find
安装在 Mac 或 Windows 7 上。
如何让这个程序在 Windows 7 上运行?
解决方案
File::Find
未内置于 Raku 或与 Rakudo Star 一起分发;据我所知,从来没有。
它是生态系统中的一个模块,您可以使用 Zef 安装(使用命令zef install File::Find
)。
它也是一个很短的图书馆。如果您有兴趣在不添加依赖项的情况下修复脚本,您可能需要查看File::Find的源代码;它足够短,您可以自己轻松实现相同的功能。
推荐阅读
- python - 我无法正确绘制边界框
- java - 尝试批处理 SQL 存储过程调用:“@p0”附近的语法不正确
- xamarin - 如何在同一行插入多个项目
- android - 支持每个片段中的操作栏标题和图标
- list - Flutter(Dart) 无法从不可修改列表中删除
- apache-kafka - Kafka 消费者 4 天后拒绝接收消息
- rust - 如何向多个客户端发送连续的字节流
- c++ - 使用特定的 pmr 分配器对列表进行排序
- docker - 在 AWS ECS(Fargate)和本地(.NET Core 应用程序)上看到不同的 docker 容器行为
- python - 从数据框中提取表情符号