仅使用 Perl 核心运行单个脚本来自动安装缺少的模块的快速方法是什么?

2024-03-28

我继承了一个应该能够部署到其他服务器的项目。该项目有许多简单的模块依赖项,但这些依赖项可能并不存在于所有目标计算机上。

因此,我希望能够运行一个命令行脚本来检查安装了哪些 Perl 模块,并尝试通过 CPAN 自动安装缺少的模块。

由于这应该是非常基本的(即需要安装东西来运行模块安装程序会破坏这一点),因此脚本应该只使用 Perl 5.8.8 核心模块。

类似的东西已经存在还是我需要自己写?


创建 Bundle 包是一种可能answer https://stackoverflow.com/questions/240704/how-can-i-determine-cpan-dependencies-before-i-deploy-a-perl-project/241081#241081.

然后你可以看看类似的东西CPAN::Shell (see CPAN http://search.cpan.org/dist/CPAN/模块)来自动化该过程。

/I3az/

Update回复:布莱恩的评论Task::- 以下是一些相关链接:

  • 编写 CPAN 任务(使用 Module::Install) http://perl.bristolbath.org/blog/lyle/2009/02/writing-a-cpan-task.html
  • “任务:: 或捆绑包::”? (佩尔蒙克斯) http://www.perlmonks.org/index.pl?node_id=604600
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

仅使用 Perl 核心运行单个脚本来自动安装缺少的模块的快速方法是什么? 的相关文章

  • DBI:在 eval 中引发错误

    这个问题参考了池上的评论 But if you re going to put an eval around every statement just use RaiseError gt 0 in this thread https sta
  • 如何按给定顺序对列表进行排序?

    我正在尝试执行以下操作 我有一个预定义的列表 用作给定列表上的 排序依据 my orderby car boat chicken cat dog mouse or my orderby car gt 0 boat gt 1 chicken
  • 类图中的组合和依赖之间的区别?

    我知道 有人就这个案例问过同样的问题 但我仍然不明白 我需要一个具体的答案 谢谢你 D 既然冈努斯没有正确解释构图的含义 我就只好这么做了 正如 Gangnus 所解释的 聚合是一种特殊形式协会具有预期含义部分 整体关系 但没有精确的语义
  • 使用正则表达式惰性(不贪婪)匹配多个组

    我想获取成对之间任何值的内容
  • 如何在 Linux 上使用 Mono 将 Perl 解释器嵌入到我的 C# 程序中?

    有谁知道是否可以在 C 中从 Mono 调用 Perl 子程序 这是在 Linux 机器上 Maybe DllImport 如果可能的话 我们也希望避免每次都加载 perl Interop 可以在 Linux 下与 Mono 很好地调用 C
  • perl生成字符串来匹配正则表达式

    我尝试找到一种方法来生成与正则表达式匹配的字符串 例如以下正则表达式 A Z 6 6 A Z2 9 A NP Z0 9 A Z0 9 3 3 0 1 我尝试过 Cpan 上的一些 perl 模块不起作用 gt 字符串 随机 gt 正则表达式
  • Android Studio .2.2 和 Gradle 包不存在

    Android Studio 和导入外部 Java 库的新功能 我已阅读有关配置 Gradle 依赖项的帖子 并修复了我的第一个包不存在错误 这些是我的 MainAcitivity java 文件中的导入语句 import com goog
  • 如何从 Perl 调用 gnuplot 脚本

    我有一个 gnu gp 文件 grphist conf set terminal canvas Terminal type set to canvas Options are solid butt size 600 400 fsize 10
  • 使用指针隐藏实现(Pimpl 惯用语)

    是否有可能实现以下目标 x hpp 该文件被许多其他类包含 class x impl forward declare class x public methods private x impl impl x cpp 实施 include
  • 我的 Perl 脚本中的 findnodes 语句有什么问题?

    我有一个简单的 xml 文件 如下所示
  • 2 个具有共享 Redis 依赖的 Helm Chart

    目前 我有 2 个 Helm Charts Chart A 和 Chart B Chart A 和 Chart B 对 Redis 实例具有相同的依赖关系 如Chart yaml file dependencies name redis v
  • 多个与单个 Catalyst 应用程序

    我有多个作为 FCGI 运行的 Catalyst 应用程序 将它们整合为具有多个控制器的单个控制器是否有好处 Thanks Simone 内存 大概吧 我认为每台服务器至少要保留 15MB 左右 因此如果您在 3 台服务器上运行 3 个应用
  • 检测 perl 中声明的包变量

    Given package main our f sub f sub g 1 我怎样才能确定 f 但不是 g 已宣布 即兴的 我以为 main g SCALAR 可能是未定义的 但它是一个善意标量参考值 背景 我想将一个变量导入到main
  • 使用 Getopt::Long 解析参数的最简洁方法

    我使用 GetOpt 来解析命令行参数 我想添加一个新选项 multi 它应该得到一个如下所示的字符串 key1 abc key2 123 key3 xwz 我不知道用户想要提供多少个自定义密钥 但他可以提供 minimax5键 另外 我想
  • 是否有用于 AES 的纯 Perl 模块?

    是否有用于 AES 的纯 Perl 模块 地穴 Rijndael PP http search cpan org dist Crypt Rijndael PP Rijndael 是底层算法AES https secure wikimedia
  • 将参数传递给调试器中的 perl 文件并在系统执行的文件中设置断点

    因此 我使用 perl d file pl 在 perl 调试器中运行一个文件 但 file pl 也应该接受参数 如何向 file pl 提供参数 还有一个问题 file pl 中有这一行 system file2 pl 如果 file2
  • Bash - 在 perl 正则表达式中使用变量以及匹配组

    这是我在 stackoverflow 上的第一篇文章 如果我错过了一些重要的内容 请原谅我 我目前遇到以下问题 目标是根据我准备的文件列表动态替换端口号find 这些文件中的所有端口均以数字 4 开头 有 5 位数字 现在是棘手的部分 我只
  • 两个对象相互依赖。那不好吗?

    当我为我的项目构建自己的系统时 我学到了很多关于设计模式的知识 我想问你一个我找不到答案的设计问题 目前我正在使用套接字构建一个带有多个客户端的小型聊天服务器 现在我有三门课 人级其中包含昵称 年龄和房间对象等信息 房间级它保存诸如房间名称
  • 如何在正则表达式中区分数字和ip地址?

    例如 如果我们查看 5 56 和 183 55 0 144 基本上 当你做这样的事情时 d d 它匹配 5 56 189 55 和 0 144 有没有办法通过正则表达式仅匹配数字而不匹配 ip 地址的部分 我尝试使用前瞻 但我不知道它应该是
  • 如何在调试器模式下运行 perl 测试?

    我尝试在调试器下运行测试 perl d which prove t file t 但这没有任何效果 因为每个测试都是作为单独的作业运行的 我已经发现 exec选项 但是当我提供它时 我失去了任何选项 proverc文件和命令行 prove

随机推荐

  • C# 将 XPath 与 XmlDocument 结合使用 - 无法选择命名空间中的节点(返回 null)

    我正在尝试做一些应该很简单的事情 但我遇到了可怕的麻烦 我已经尝试过 StackOverflow 中多个类似问题的代码 但没有成功 我正在尝试通过澳大利亚政府的 ABN 查询来获取各种信息 以下是匿名返回 XML 值
  • 从控制台应用程序创建新控制台? C++

    我一直坚持为我的控制台应用程序和记录器创建新的控制台窗口 该代码适用于 GUI 应用程序 但不适用于控制台 并且它们需要 带有 DETACHED PROCESS 标志的 CreateProcess 函数 Logger Log DWORD P
  • ReferenceError:未使用 jest 测试库定义 BroadcastChannel

    我在使用反应测试库运行笑话测试用例时遇到错误 我已经通过以下方式解决了 步骤1 我在根文件夹中创建了 config jest setup js 并将以下代码粘贴到 jest setup js 文件中 function channelMock
  • 如何在 Android 应用程序中添加 Facebook 分享按钮

    我是 android 初学者 我想在我的 android 应用程序中添加 FacebookShare 按钮 我在 2 2 中创建应用程序 请帮助我 我用这个代码 Intent emailIntent new Intent android c
  • Eclipse M2E / 更改订单和导出

    我正在 Eclipse Indigo 中处理 Maven 项目 为了编译一些需要认可的库 webservices api jar 的类 我转到 Properties Java Build Path Order and Export 并将 M
  • SpriteKit 粒子发射器未出现在 Xcode 编辑器中

    我经常遇到粒子效果未出现在编辑器中的问题 当我第一次创建它们时 一切正常 但一段时间后它们就不再出现 我只看到黑色背景 但不存在粒子 我能够处理这个问题的唯一方法是删除节点并创建一个具有相同属性的新粒子节点 这是耗时且烦人的 然后 过了一段
  • 会话 cookie 未设置

    无法让 php 的 SESSION 在我的本地计算机上工作 它在实时服务器上工作正常 但在本地计算机上无法工作 我尝试过在 Windows 上使用 apache 和 php 在 Mac 上使用 apache 和 php 在 debian 上
  • 如何将参数传递给 selectExpr? SparkSQL-Scala

    当您有数据框时 您可以使用以下方法添加列并填充其行selectExprt 像这样的事情 scala gt table show idempr tipperrd codperrd tipperrt codperrt OlcM h 999999
  • 如何使用mysql和php获取排序行的位置

    我有一个存储高分以及玩家 ID 的表 我希望能够通过玩家 ID 提取记录 然后获取他们的分数在表中的排名或位置 意思是 基本上我希望能够说 你处于第 N 位置 纯粹基于玩家得分与所有其他得分的比较 例如 如果我位于第 46 位 那么对我来说
  • Chrome 更新 73 - Materialise CSS JS 触发错误

    在最新的 Chrome Update 73 之后 Materialize CSS 0 100 2 的日期选择器 时间选择器和下拉菜单不再工作 当您点击它时它会闪烁 然后消失 知道如何解决这个问题吗 我遇到过同样的问题 现在我做了一些更改以使
  • 如何使用 write 系统调用将 int 写入文件并完全按照写入方式读取它们?

    如何使用 UNIX 的 write 系统调用将 int float 或其他类型写入文件 我想这样做而不使用任何 lib 函数 例如fprintf or fwrite 我想使用文件描述符而不是FILE 再次打开后 文件必须完全按照写入的方式读
  • Java:同步实用程序

    我问这个纯粹是为了确定实施问题类的价值 您是否知道 Java 实用程序类采用非同步实例 使用反射来调查该实例 并返回 包装 在同步调用中的输入实例 即 为任何实例创建同步委托类的工厂 我喜欢乔恩 斯基特的回答 它只见树木而不见森林 但要回答
  • 将枚举序列化为从 Azure Function 返回的 JSON 中的字符串

    有没有办法配置 Azure Functions 如何将对象序列化为 JSON 作为返回值 我想使用字符串而不是整数作为枚举值 例如 给定以下代码 public enum Sauce None Hot public class Dish Js
  • 如何从vb.net代码向水晶报表传递参数

    我创建了一个水晶报告 交叉表 我没有使用任何数据集 而是使用水晶报表中的向导从我的数据库架构中调用过程 给出的提供程序是 Oracle 的 Microsoft OLEDB 提供程序 之后我提供了我的数据库凭据 即架构 用户名 密码 并选择了
  • 如何将 HTML 元素记录为 JavaScript 对象?

    使用 Google Chrome 如果您console log一个对象 它允许您检查控制台中的元素 例如 var a foo bar whiz bang console log a 这打印出来Object可以通过单击旁边的箭头进行检查 但是
  • window.scrollTo 在 Internet Explorer 11 中不起作用

    我希望在启动页面时滚动条默认位于顶部 但是下面的代码在 chrome 中工作正常 但在 IE11 中不行 如果我尝试调试脚本 滚动条位于顶部 document ready function window scrollTo 0 0 我在网上尝
  • Android Seekbar 有两个拇指

    这个问题的变体可以在互联网上找到 但没有答案 我想要一个带有两个拇指范围选择的搜索栏 我愿意自己编程 但缺乏 Android 经验 有人可以给我一些关于从哪里开始的指示吗 我的意思是 我知道我必须扩展一些东西 可能是进度条 但是我应该如何去
  • AngularJS 绑定中的数学函数

    有没有办法在 AngularJS 绑定中使用数学函数 e g p The percentage is Math round 100 count total p 这个小提琴显示了问题 http jsfiddle net ricick jtA9
  • 检查字符串是否包含整数

    您知道可以检查字符串是否包含整数的函数吗 我期望它的工作方式如下 holds int 23 should return true holds int 2 3 should return false holds int qwe should
  • 仅使用 Perl 核心运行单个脚本来自动安装缺少的模块的快速方法是什么?

    我继承了一个应该能够部署到其他服务器的项目 该项目有许多简单的模块依赖项 但这些依赖项可能并不存在于所有目标计算机上 因此 我希望能够运行一个命令行脚本来检查安装了哪些 Perl 模块 并尝试通过 CPAN 自动安装缺少的模块 由于这应该是