【发布时间】:2021-03-14 17:41:27
【问题描述】:
我有一个非常简单的程序,它列出了给定目录中的所有.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 安装它,即不使用任何安装程序。至于 Mac 上的 Raku,我不记得安装了 File::Find 模块,也不知道如何列出已安装的模块,即我没有检查 File::Find 是否安装在 Mac 或 Windows 7 上。
如何让这个程序在 Windows 7 上运行?
【问题讨论】:
-
您的脚本是否可能包含特定于 Mac 的斜线目录地址?在 Windows 上无法正确读取的内容?此行出现异常:
C:\Users\lars\raku/html-adder.rk。 -
@jubilatious1 不,这与使用正斜杠或反斜杠无关。无论如何,该行是编译器输出的,所以它一定是正确的。如今,编译器包含正斜杠和反斜杠的行并不少见。