我经常需要为我的一位雇主设置新服务器,以满足他的特定目的,因此所有服务器都必须以完全相同的方式设置。因此,我用 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
答案4
比 Ava Gailliot 的建议更快,并且误报更少:
find $(perl -E 'say"@INC"') -name CPAN.pm -exec dirname {} \;
这里的路径是 perl 安装的所有目录,perl 可以在这些目录中查找要加载的模块。