为什么我在 @INC 中无法找到 Module/Find.pm

Why Do I get Can't locate Module/Find.pm in @INC

好的,所以我一直在尝试让这个源为我的游戏工作,但是在我安装所有模块之后,我在我的终端中收到这个错误。

PS C:\Users\NAME\desktop\Luna> perl Run.pm
Can't locate Module/Find.pm in @INC (@INC contains: C:/Perl64/site/lib C:/Perl64/lib .) at Run.pm line 8.
BEGIN failed--compilation aborted at Run.pm line 8.

我不明白为什么我得到它

这是第 8 行

use Module::Find;

有人知道为什么会这样吗?

这指出了为什么了解一点关于使用您选择使用的计算机的重要性。在这种情况下,您有两个 Perl 安装。其中,perl.exe 住在 c:\perl64\bin(我假设是 ActivePerl). The other perl.exe lives in c:\strawberry\perl\bin. It seems you managed to install (possibly via a cpanm that only appears in c:\strawberry\perl\bin) Module::Find for Strawberry Perl

显然,在您的环境中,c:\perl64\binc:\strawberry\perl\bin 之前。因此,您的 perl Run.pm,您调用该目录中的 perl。每个安装都有许多查找模块的默认位置(您可以使用 perl -V). ActiveState'sperl.exe 列出那些不会在 Strawberry Perl 的目录中查找模块的位置。

多个 Perl 安装可以在 Windows 中和平共存,但由于 shortcomings of tools 会生成调用已安装的 Perl 脚本的批处理文件,因此变得比必要的更复杂。这些工具只是调用 perl 而不是将完整路径放入用于创建批处理文件的 perl.exe

在它成为默认值之前,我发现处理这种情况的最简单方法是指定一个 Perl 发行版作为我的默认值,并使用一些批处理文件和符号 link 技巧在它们之间切换和其他人。

转到 CPAN 命令提示符(对于 perl C:\Strawberry\perl\bin)

cpan> 安装

或任何例如

安装Locale::Language