the*_*now 7 deployment perl perl-module
如何判断机器上特定Perl安装最初提供的模块?
(这不是重复: 如何判断Perl模块是核心还是标准安装的一部分? ("我怎么知道Perl模块是核心还是标准安装的一部分?") - 它在事实上是一个衍生问题)
我正在寻找最初安装的内容,作为安装的一部分提供了哪些模块,内置的内容.不是从那以后安装的.
我希望这适用于任何 Perl版本.
我希望能够这样做:
我想这样做的原因是:
我之所以提出这个问题,是因为,对于任何Perl版本,似乎没有一种自动方式来查找整体标准安装,从而定义您的机器上的默认安装中可能存在哪些模块 - 请参阅问题: 如何判断Perl模块是核心还是标准安装的一部分? ("如何判断Perl模块是核心还是标准安装的一部分?")
不能依赖Perl版本来告诉您哪些模块存在与否.当然,可能有在线文档告诉你.但是我需要在我下载/安装的版本上自动执行此操作.即使是不同Linux/Unix发行版上的相同Perl版本也可能不同.
对于Debian或Ubuntu,您可以使用
$ dpkg --listfiles perl | grep '\.pm$'
Run Code Online (Sandbox Code Playgroud)
对于Redhat:
$ rpm -ql perl | grep '\.pm$'
Run Code Online (Sandbox Code Playgroud)
一般来说,你不能.如果您接受并从不同的角度处理问题,那么您将获得更少的挫败感.Module :: CoreList提供了一个列表,列出了所有安装中应该包含的内容,但是供应商不需要遵守它,大多数发行版都包含许多不属于核心的模块.除非建立自己的数据库,包括每个发行版的哪个版本 - 这是一项艰巨的任务 - 没有太多希望.请注意,即使对于随发行版附带的模块,安装的版本也可能不同.
我可以看到几种不同的方法来解决这个问题:
requiresBuild.pl脚本部分中的先决条件
.在CPAN壳可以自动跟踪并解决依赖关系.| 归档时间: |
|
| 查看次数: |
1710 次 |
| 最近记录: |