为什么我不能简单地将安装的 Perl 模块复制到其他机器上?

2023-12-15

我对 Perl 很陌生,但对动态语言还不太熟悉,我对模块的管理如此不直接感到有点惊讶。

Sure, cpan X理论上确实有效,但我正在从三台不同的机器和操作系统上处理同一个项目(在工作中,在家里,在外部环境中进行测试)。

  • 在工作中(Windows 7)我在使用时遇到问题cpan因为我们的防火墙导致 ftp 无法使用
  • 在家里(Mac OS X)它确实可以工作
  • 在外部环境(Linux CentOs)中,它可以在几个小时后工作,因为我没有 root 访问权限,我必须配置cpan以非 root 用户身份操作
  • 我已经在另一台可以访问的服务器上尝试过。如果之前的外部环境是 VPS,所以我有 shell 访问权限,那么另一个是廉价的共享主机,除了预安装的模块之外,我无法安装新模块

目前我还是无法安装Template在Windows下。我已经看到,作为替代方案,我可以编译它,并且我也尝试过 ActiveState 的 PPM,但该模块在那里不存在。

现在,我的困惑是 Perl 是一种动态语言。我在工作时遇到过所有这些问题,例如,使用 C 语言时,我必须编译所有平台的所有库,但我认为使用 Perl 的方法与 90 年代的 Python 或 PHP 非常相似在 % 的情况下,将模块复制到目录中并导入它很简单。

所以,我的问题是:如果 Perl 的模块是用 Perl 编写的,为什么复制/粘贴方法不起作用?如果必须编译某些(或某些部分)模块,如何在 CPAN 中查看模块是否仅支持 Perl 或者依赖于已编译的库?有没有办法下载模块(tar、zip...)并使用 cpan 来部署它?这将解决我在 Windows 下的问题。


现在,Perl 是一种动态语言,但这并不意味着人们编写的所有内容都可以跨平台移植。这不是语言的错。这甚至不是程序员的错。有些事情,比如Win32::OLE不应该在 Unix 上工作。 :)

其他动态语言也会有一些相同的问题。如果您必须编译 C 代码,您将无法仅仅将文件复制到另一台机器。某些发行版的代码配置略有不同,具体取决于您的操作系统等。

即使您可以复制文件,您也必须确保复制所需的所有文件。您知道特定模块所需的一切吗?请记住,其中许多都有依赖性。

您遇到的大多数问题与语言无关。您在使用工具时遇到了问题。如果您想要一个零配置的 CPAN 工具来为您做出所有决定,请尝试cpan负值。这基本上与你摆脱的事情是一样的cpan(尽管代码不同),但它为您做出所有决定。它不运行任何发行版测试,并且安装到您的用户目录中。当您需要一些可以让您控制的东西时,请返回cpan.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么我不能简单地将安装的 Perl 模块复制到其他机器上? 的相关文章

  • Mason 方法范围 - 覆盖

    Using Mason2 https metacpan org pod Mason 有 3 个组件 Base mc tmp Base mc tmp index mc The tmp index mc内容 hello from the Som
  • Perl:Chomping字符串后,它不打印字符串的值

    所以我目前正在尝试编写一个 perl 脚本来读取一个文件并写入另一个文件 目前 我遇到的问题是从解析的行中删除换行符 我输入这样的文件 BetteDavisFilms txt 1 Wicked Stepmother 1989 as Mira
  • 从 Perl 线程生成 Expect

    我正在编写一个脚本 该脚本需要定期 每 5 分钟 生成一个 Expect 进程来完成一些工作 下面是我的代码 它生成一个 Expect 进程并执行一些工作 脚本的主要进程始终在做一些其他工作 例如它可能等待用户输入 因为我在一个线程中调用这
  • 有没有对数字(千)进行分组的函数?

    小 模块中是否隐藏着一个函数 它为我执行此操作 my var 23654325432 var reverse var var s d 3 K d g var reverse var I like 数字 格式 http search cpan
  • 如何从 Perl 中的 Subversion 预提交挂钩访问提交的文件?

    我需要执行以下操作 用 Perl 编写预提交钩子 Hook 应检查所有提交的文件是否存在某些文本 如果未找到该文本则失败 基本上 我需要一个读取正在提交的文件的 Perl 钩子示例 我真的在寻找一些代码量最少的优雅解决方案 笔记 钩子应该使
  • 匹配有限自然数列

    我怎样才能匹配有限自然数 http en wikipedia org wiki Natural number正则表达式系列 所以 要求是 字符串包含数字和空格 作为分隔符 第一个数字是1 每个数字 第一个数字除外 等于前一个数字 1 应该是
  • 标量值错误(使用 IO::Socket)

    这是我当前的代码 usr bin perl w use strict require IO Socket while lt gt chomp my host my header print Connecting to host n my s
  • 更新命令行输出

    我的程序 碰巧是用 Perl 编写的 尽管我不认为这个问题是 Perl 特定的 在程序中的某一点输出状态消息 Progress x yy where x and yy是一个数字 例如 Progress 4 38 我想在打印新的状态消息时 覆
  • 多维哈希排序 - Perl [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我真的需要一些帮助来理解这个哈希并对
  • 真实设备中的 Android strace

    我有以下情况 我想监控Android手机上的系统调用 所以 我编写了一个脚本来做到这一点 使用 Android 模拟器可以完美地工作 将应用程序的痕迹写入我的 Ubuntu 上的特定文件中 问题是当我连接一个真实的手机来分析它时 它在结果文
  • 为什么Perl的SUPER调用不使用箭头方法?

    我注意到 当您调用超类的方法时 您需要执行以下操作 my self class gt SUPER new 为什么不是这样 my self class gt SUPER gt new 我怀疑是因为 class gt SUPER gt new
  • Perl 脚本(或任何东西)来合计 CSV 列

    我写了 在其他人的很多帮助下 awk command https stackoverflow com questions 4159224 excel and awk disagree about csv totals 4159404 415
  • 合并 Perl Hashref 和 unique

    我有两个 Perl 哈希值 内容如下 First VAR1 name1 gt adam bob name2 gt Miller Schumacher Second VAR1 name1 gt tina jason jeff
  • Perl 中的布尔函数应该返回什么值?

    简短的问题 在 Perl 代码库中一致表示真假的最佳方法是什么 1 0 1 Perl 原生布尔运算符的特殊空字符串 return undef 即空列表 问题背景 我们都知道 Perl 在布尔值方面非常灵活 就像大多数事情一样 例如 Perl
  • 哪些 babel 设置适合导出库?

    我是 Babel Webpack 的新手 对 babelrc 配置有一些困惑 第一个配置 presets babel env modules false useBuiltIns usage targets gt 0 25 not dead
  • 迭代哈希数组

    我编写了下面的例程 迭代哈希值 0 7 并打印出每个哈希值中特定键的值 我需要获取每个哈希中 b4 的值 我想取消 0 7 当存在不同数量的哈希值时使用更智能的东西 例如 有时只有 2 个 也可能有 160 个 my out decode
  • 在压缩存档内的文本文件上运行“head”,而不解压存档

    问候 我接手了之前的团队并编写了处理 csv 文件的 ETL 作业 我在 ubuntu 上结合使用 shell 脚本和 perl csv 文件很大 它们以压缩档案形式到达 解压后 很多都超过 30Gb 是的 那是 G 旧进程是在 cron
  • Perl 和 Unix 如何以相同的顺序对 Unicode 字符串进行排序?

    我正在尝试获取 Perl 和 GNU Linuxsort 1 程序就如何对 Unicode 字符串进行排序达成一致 我在跑sort with LANG en US UTF 8 在Perl程序中我尝试了以下方法 use Unicode Col
  • 为什么我只得到第一个捕获组?

    https stackoverflow com a 2304626 6607497 https stackoverflow com a 2304626 6607497 and https stackoverflow com a 370042
  • perl-5.10 之前的高效版本相当于 pack("Q>")

    更新 萨尔瓦正确地指出我对 Q 包模板的介绍是错误的 这是 gt 修饰符 不会返回到 5 8 Perl 5 10 引入了 pack 修饰符 gt 对于我使用 Q 的用例 它将一个无符号四边形 64 位 值打包在大尾数法 现在 我正在寻找一个

随机推荐

  • Aptana 3 php 无法激活函数链接和变量辅助

    我刚刚升级到 Aptana 3 似乎失去了 Eclipse 中的一些强大功能 到目前为止我不知道如何重新启用它 具体来说 我需要重新打开这两个功能 FileUpload checkForExistingUploadPath somepath
  • Bash 脚本转换日期格式

    我正在寻找替换现有的日期格式 CCYY MM DD with MM DD CCYY使用 shell 脚本将日期格式存储在大文件中 在更改日期格式之前 它应该如下所示 2014 01 31 2014 01 31 更改日期格式后应该如下所示 0
  • 自定义 OWIN/Katana UserManager 工厂行为

    网上有很多使用 OWIN Katana 的示例 可以根据用户名 密码组合在数据库中查找用户并生成声明主体 例如 var userManager context OwinContext GetUserManager
  • 找到给定数字的所有因数的最佳方法

    所有能整除 x 的数字 我输入 4 它返回 4 2 1 编辑 我知道这听起来很家庭作业 我正在编写一个小应用程序 用半随机测试数据填充一些产品表 其中两个属性是 ItemMaximum 和 Item Multiplier 我需要确保乘数不会
  • 重塑数据框并创建相似度矩阵

    我有一个数据表 我尝试重塑它 但它不起作用 我该怎么做 我有一个数据表 Name Value Bob 8 9 10 Mike 2 3 4 Sandr 5 6 7 我如何将其放入一个列表中 例如 Value Name 2 Mike 3 Mik
  • 自动加载bitbucket存储库+composer.json

    我想使用 Composer 将 bitbucket 存储库添加到我的供应商文件夹中 这是我的composer json 中的内容 require silex silex 1 1 doctrine dbal 2 2 twig twig 1 s
  • 如何在 mysql 中查找日期时间行的时间增量?

    我在数据库中有一个列 它提供一系列传感器读数的日期时间戳 我想将这些读数分割成不间断的 连续的传感器读数组 如果传感器读数损坏 则日期时间列中将会出现中断 因此 我想对日期时间列执行查询 然后计算连续读数之间的差异 假设我的查询是 sele
  • Unity 5 中的 UnityScript“通用函数”

    在遵循其网站上的 Unity3D 教程时 http unity3d com learn tutorials projects roll a ball moving the player 我遇到过 通用函数 http docs unity3d
  • 配置 IntelliJ IDEA 以使用 JUnit 进行单元测试

    今天早上我决定通过试用版尝试一下 IntelliJ 并安装了 JUnit 插件 我创建了一个新的 Java 项目 我想为其编写一个测试用例 如何将 junit jar 文件添加到我的项目中 我实际上想将它添加到每个 java 项目中 现在和
  • Slim 框架:不允许使用方法 不允许使用方法。必须是以下之一:POST

    我正在 PHP 中设置 REST 服务器 并希望允许客户端使用具有不同方法的端点 例如 GET POST PUT DELETE 等 但是 当我尝试添加 POST 方法的函数时 出现了一个问题 如果我尝试通过 Postman 使用 POST
  • Xgboost 随机种子设置不能确保再现能力

    尽管设定了一个值random state and or seed参数 性能不可重现XgboostSklearn API 包装器 这是代码 from xgboost sklearn import XGBClassifier from skle
  • QWidget不绘制背景色

    我正在使用 PySide 1 2 1 和 Python 2 7 我需要一个小部件来绘制彩色背景 在 Qt Designer 中 我创建了一个简单的窗口 其中包含一个标签 一个包含三个其他项目的小部件和另一个标签 对于包含按钮 单选按钮和复选
  • 如何使 1 + 1 = 2 而不是 1 + 1 = 11 [重复]

    这个问题在这里已经有答案了 我试图以数学方式添加数字 但它不断添加后面的数字 它获取 id 编号 begen 然后获取另一个 div 内的编号 kacbegen var begen this attr id var kacbegen mat
  • 通过 CSS 选择器选择两个已知元素之间的所有元素

    我有两个已定义 id 的元素 它们之间有任何 html 例如 div Hello div div Example div hr a href Example a div World div 是否有 CSS 选择器可以选择 d1 和 d2 之
  • HTTP 状态 500 - Servlet appServlet 的 Servlet.init() 引发异常

    我想尝试一个简单的程序 但出现以下错误 我正在使用 Eclipse Kelper 和 Tomcat 7 0 尝试了很多事情 但没有什么对我有用 HTTP Status 500 Servlet init for servlet appServ
  • Firebase 安全规则阻止写入 Firebase

    注 此问题已标记 polymer 因为 Polymer 库用于生成 Javascript 这个问题是关于处理 Firebase 安全性的两个不同但相关的问题 在尝试让 Firebase 安全规则发挥作用时 问题 1 和问题 2 似乎提出了相
  • Javascript 通过匹配字符串对数组进行排序

    我有一个包含地理位置代码结果的数组 我想按与我搜索过的术语最接近的匹配项对其进行排序 例子 搜索 Pizza Array Pizza Uno Pizzeria Uno Burgers and Pizzeria Cino Pizzeria 排
  • 如何绕过 Swagger-UI 的身份验证?

    如何从浏览器绕过 Swagger UI 的令牌身份验证 我可以通过 Postman 向 Swagger UI 发出请求 当我从浏览器发出请求时 我收到错误 因为它请求令牌 http localhost 8080 swagger ui ind
  • 如何使用所需的 BSTR* 参数正确调用 IDispatch::Invoke

    有很多关于如何使用 BSTR 参数调用 IDispatch Invoke 的示例 我将此与许多其他 SomeType 参数一起使用 但无论我尝试什么 我要么得到类型不匹配的HRESULT E OUTOFMEMORY 要么得到访问冲突 在我看
  • 为什么我不能简单地将安装的 Perl 模块复制到其他机器上?

    我对 Perl 很陌生 但对动态语言还不太熟悉 我对模块的管理如此不直接感到有点惊讶 Sure cpan X理论上确实有效 但我正在从三台不同的机器和操作系统上处理同一个项目 在工作中 在家里 在外部环境中进行测试 在工作中 Windows