我如何检查 perl 和 CPAN 文件的位置?

我如何检查 perl 和 CPAN 文件的位置?

我经常需要为我的一位雇主设置新服务器,以满足他的特定目的,因此所有服务器都必须以完全相同的方式设置。因此,我用 PHP 创建了一个脚本,从我自己的机器上运行该脚本,以自动发送所有相关文件、编译所有内容、运行更新以及执行其他所有操作。

然而,出于某种原因,这些全新的服务器都自带了 perl,虽然这没问题,但它们的 perl 安装在不同的位置。这让我在不进入并手动查找位置的情况下将 perl 复制Config.pm到 CPAN 时很麻烦。

是否存在一些我不知道的命令可以追踪精确的位置?

如果有帮助的话,通常服务器是 CentOS 5

答案1

使用which命令获取perl的路径:

which perl


在linux中使用find命令查找CPAN:

find / -name CPAN.pm

答案2

type -P perl

将在路径中找到 Perl 的位置。

如果mlocate.db是最新的,你可以使用

locate CPAN.pm

寻找可能位置的另一种方法CPAN.pm

perl -le '$,="\n"; print @INC'

答案3

我经常需要为我的一位雇主设置新服务器,以满足他的特定目的,因此所有服务器都必须以完全相同的方式设置。因此,我用 PHP 创建了一个脚本,从我自己的机器上运行该脚本,以自动发送所有相关文件、编译所有内容、运行更新以及执行其他所有操作。

你做错了,给自己增加了更多工作量。
调查配置管理工具(木偶厨师)或部署工具(radmind)——如果你用我刚才提到的工具部署你的系统,你就会知道每个盒子都是真正相同,而且更重要的是,它们将保持这种状态。


直到您有时间这样做,locate或者find如其他人提到的那样至少会告诉您想要的文件在哪里。

答案4

比 Ava Gailliot 的建议更快,并且误报更少:

find $(perl -E 'say"@INC"') -name CPAN.pm -exec dirname {} \;

这里的路径是 perl 安装的所有目录,perl 可以在这些目录中查找要加载的模块。

相关内容