我如何知道机器上特定 Perl 安装最初提供了哪些模块?

2024-04-11

我如何知道机器上特定 Perl 安装最初提供了哪些模块?

(这是not的副本:如何判断 Perl 模块是核心还是标准安装的一部分? https://stackoverflow.com/questions/2049735(“如何判断 Perl 模块是核心模块还是标准安装的一部分?”) - 这实际上是它的一个衍生问题)

我正在寻找安装附带的内容起初,安装过程中提供了哪些模块,内置了哪些模块。不是从那时起安装的。

我希望与此合作anyPerl 版本。

我希望能够做到这一点:

  • 在 Perl 程序本身/命令中使用脚本在机器上那个有安装。因此,为此,我将依靠安装以某种形式记录其最初的内容。
  • 在安装之前在下载的软件包上。询问它有哪些模块。

我想这样做的原因是:

  • 我想知道在编写在安装了 Perl 的计算机上运行的软件时可以默认使用哪些模块,以及需要添加哪些非默认模块
  • 如果我保留原始安装程序映像/包或者知道如何再次在线获取确切的内容,那么我就可以为多台机器进行可重复的一致 Perl 安装,并了解哪些模块将存在以及哪些模块将不存在。
  • 我的 Perl 软件将有一个明确定义的部署过程,因为很容易准确定义软件的需求
  • 由于我的组织中制定的政策,我可能无法轻松更新/升级 Perl 版本(事情就是这样,我不想对此进行侧面讨论)。这种政策是合理的,因为升级到新软件的风险总是大于其好处。因此,开发人员需要知道他们可以期望获得什么。

我问这个问题的原因是,对于任何 Perl 版本,似乎没有一种自动方法来找出总体标准安装,定义您可以期望在计算机上的默认安装中出现哪些模块 - 请参阅问题:如何判断 Perl 模块是核心还是标准安装的一部分? https://stackoverflow.com/questions/2049735(“如何判断 Perl 模块是核心模块还是标准安装的一部分?”)

不能依赖 Perl 版本来告诉您哪些模块存在或不存在。当然,网上可能有文档可以告诉您。但我需要一个自动化的在我下载/安装的版本上执行此操作的方法。即使相同的 Perl 版本在不同的 Linux/Unix 发行版上也可能不同。


一般来说你不能。如果你接受这一点并从不同的角度解决问题,你的挫败感就会少很多。模块::核心列表 http://search.cpan.org/perldoc?Module::CoreList提供了一个列表should作为最低限度包含在所有安装中,但供应商不需要遵守这一点,并且大多数发行版都包含许多不属于核心的模块。除非建立自己的数据库来记录每个发行版的哪个版本中包含的内容(这是一项艰巨的任务),否则希望不大。请注意,即使对于发行版附带的模块,安装的版本也可能不同。

我可以看到几种不同的方法来解决这个问题:

  1. 如果您在开发时知道您的目标(例如特定的 ActivePerl 版本)您可以据此做出决定。
  2. 对于一般情况,像模块一样部署您的应用程序并指定 依赖关系。例如使用模块::构建 http://search.cpan.org/perldoc?Module::Build并列出先决条件requiresBuild.pl 脚本的部分。这cpan http://search.cpan.org/perldoc?CPANshell 可以跟踪并解析 自动依赖。
  3. 如果您想完全回避该问题,请使用PAR http://search.cpan.org/perldoc?PAR and 参数::打包机 http://search.cpan.org/perldoc?Par::Packer到 创建独立的部署包。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

我如何知道机器上特定 Perl 安装最初提供了哪些模块? 的相关文章

随机推荐

  • 本地语句输出与调用命令输出非常不同

    直接登录到系统 我运行此语句 并得到以下输出 Get ClusterNetwork cluster backups role None 这是完美的 甚至美丽 因为它的简单 然而 当我使用 invoke command 从远程计算机运行完全相
  • chrome 72 更改了源映射行为

    我正在为 Chrome 开发一个 Webextension 代码是用 Typescript 编写的 所以我需要源映射 该扩展与 ParcelJS 捆绑在一起 但我相信我的问题与捆绑器无关 从 Chrome 70 更新到 72 后 源映射不再
  • 限制用户从“主要区域”Dynamics 365 on Prem 进行访问

    我们创建了一个新的 应用程序 这是我们解决方案中迄今为止的第一个应用程序 这个想法是 一组用户将只能访问该应用程序 而他们将无法再访问该应用程序的 主要区域 某些实体的某些表格看起来与其他实体不同等 主要区域 是指默认情况下或多或少存在的
  • 运算符 == 与 data.table 中的逻辑列不一致

    请参阅以下可重现的示例 library data table set seed 123 DT lt data table A rep 0 3 10000 DT B runif N lt A DT B T N 1 3005 DT summar
  • 在R中提取形状文件对象的质心?

    我有一个形状文件 上传到以下路径 https drive google com open id 0B1ITb 7lHh1EUFVfVWc4ekRfSnc https drive google com open id 0B1ITb 7lHh1
  • 更改选定直方图 bin 条的颜色(给定其值)

    类似于我之前问过的一个问题 https stackoverflow com questions 35780048 labelling a matplotlib histogram bin with an arrow 我有一个像这样的 MWE
  • Google 文档列表 API 和 Google Drive SDK

    文档列表 Api 的路线图是什么 它比 Google Drive SDK 有更多的功能 即 ACL 现在 JAVA 或 PHP 的示例已从文档中消失 它会在不久的将来被弃用吗 目前 Documents List API 是与 Google
  • 当行内的单元格具有类名称时,为什么 CSS 悬停在表格行上不起作用?

    我遇到了这个问题 所以任何帮助将不胜感激 我有一张有几行的桌子 行中的每个单元格都属于某个类别 我使用这些类名来给单元格着色 这是我的表中的一个示例行 tr td class summarypage odd column Theme td
  • 链轮 SASS 部分 ERB 延伸

    我注意到 使用最新的 Rails 和 sprockets 版本 3 2 1 和 2 2 0 将 erb 文件扩展名添加到 sass 部分时似乎存在问题 例如如果 somestylefilename css sass 重命名为 somesty
  • 是否可以在已经存在的对象中模拟单个方法?

    对于集成测试 我需要在 java 服务客户端中模拟特定方法 而不破坏其中的其余信息 它没有自构造函数 所以这样的解决方案是不可能的 private DBClient mockClient new DBClient alreadyExisti
  • MUI 文本字段上的省略号效果

    如何在 MUI 文本字段上添加省略号效果 他们有一个用于文本换行的多行选项 但我想要单行 像您可以做的那样换行文本
  • Xamarin:未找到绑定属性

    这个应用程序在 UWP 中运行得很好 除了在 Android 上失败的一个更基本的属性之外 我已经删除了所有内容 它看起来像这样 我的页面 xaml
  • 使用 apikey 从 Google Sheets API 获取 403 [关闭]

    Closed 这个问题是无法重现或由拼写错误引起 help closed questions 目前不接受答案 我一直在使用 Google Sheets 作为我的一些应用程序的简单数据后端 基本上 这些是 20 行 x 20 列 客户希望能够
  • 调整图像大小,同时保持纵横比

    大家好 我从互联网上下载了一张图像 需要将其大小调整为其大小的 1 4 同时保留其纵横比 关于如何最简单地做到这一点有什么想法吗 WebRequest requestPic WebRequest Create imageURL WebRes
  • 关于并行任务的 `srun ... >output_file` 的语义

    抱歉 这个问题需要大量的积累 但总而言之 它是关于许多并行实例的条件srun gt output file会或不会导致某些进程 任务破坏其他进程 任务产生的输出 案例 0 仅 bash 无 SLURM 假设prog 0 sh是以下玩具脚本
  • Overflow:hidden 隐藏边框但不隐藏溢出的元素

    我正在研究带有过渡的标题 但有些东西不起作用 我将 ul 设为 120px li 设为 60px 我给 li hover 一个translateY 60px 这样当您将鼠标悬停在 li 上时它就会弹出 我想隐藏溢出的内容 直到您将鼠标悬停在
  • 自定义日期选择器对话框

    目前 我正在使用经过修改的本机对话框来隐藏日期微调器 并且工作正常 但现在我想以这样的格式设置日期 当我旋转月份微调器或年份微调器时 对话框仅显示月份和年份而不是完整的日历日期 我的日期选择器对话框的自定义代码如下 Override pro
  • 如何同时按名称或标准差选择列?

    Solution 我采用了 thelatemail 提供的解决方案 因为我试图坚持使用 tidyverse 和 dplyr 我对 R 仍然很陌生 所以我正在采取一些小步骤并利用辅助库 感谢大家花时间贡献解决方案 df new lt df i
  • IE6 不解析加载的 JavaScript 文件(由 Google 托管的 Recaptcha)

    这是一个非常奇怪的问题 我尝试在其中一个网站上使用 Recaptcha 它适用于除 IE6 之外的所有测试浏览器 我参考了google的js http www google com recaptcha api challenge k the
  • 我如何知道机器上特定 Perl 安装最初提供了哪些模块?

    我如何知道机器上特定 Perl 安装最初提供了哪些模块 这是not的副本 如何判断 Perl 模块是核心还是标准安装的一部分 https stackoverflow com questions 2049735 如何判断 Perl 模块是核心