CPAN 将模块安装到 perl5 而不是 site_perl

2023-12-10

我正在尝试将一些 cpan 模块临时安装到自定义文件夹 (/tmp/perl) 中。所以我修改了构建安装基础......

o conf mbuildpl_arg "--install_base /tmp/perl"
o conf makepl_arg "INSTALL_BASE=/tmp/perl"

效果很好,模块现在已安装到该目录中。我还设置了 PERL5LIB

  PERL5LIB=/tmp/perl/lib/5.14.2/:/tmp/perl/lib/site_perl/:/opt/perl/lib/5.14.2/:/opt/perl/lib/site_perl/:

请注意,这一切都只是临时的,位于将被销毁的虚拟服务器上。

我注意到,以前它会将模块安装到 buildpath/lib/5.14.2 或 buildpath/lib/site_perl 中

但是现在,它将模块安装到 buildpath/lib/perl5 中

我的理解是核心 perl 模块最终位于 buildpath/lib/5.14.2 中,非核心模块最终位于 buildpath/lib/site_perl 中。

由于这是安装到 buildpath/lib/perl5 中,是什么决定安装到 perl5 目录而不是 5.14.2 或 site_perl ?


除非您通过环境变量(即中的值)覆盖 ExtUtils::MakeMaker 和 Module::BuildPERL_MM_OPT and PERL_MB_OPT)或命令行参数(例如,中的值cpan's mbuildpl_arg and makepl_arg),将使用在构建 Perl 时硬编码到 Perl 中的位置。以下命令将显示这些位置(例如.pm和相关文件):

perl -V:'install(privlib|archlib|vendorlib|vendorarch|sitelib|sitearch)'
  • installprivlib包含 Perl 附带的“纯 Perl”模块。
  • installarchlib对于具有架构或构建相关组件的模块是相同的。
  • installvendorlib包含您的发行版安装的“纯 Perl”模块。
  • installvendorarch对于具有架构或构建相关组件的模块是相同的。
  • installsitelib包含您安装的“纯 Perl”模块。
  • installsitearch对于具有架构或构建相关组件的模块是相同的。

运行示例:

$ perl -V:'install(privlib|archlib|vendorlib|vendorarch|sitelib|sitearch)'
installprivlib='/usr/share/perl/5.14';
installarchlib='/usr/lib/perl/5.14';
installvendorlib='/usr/share/perl5';
installvendorarch='/usr/lib/perl5';
installsitelib='/usr/local/share/perl/5.14.2';
installsitearch='/usr/local/lib/perl/5.14.2';
$ perl -V:'install(privlib|archlib|vendorlib|vendorarch|sitelib|sitearch)'
installprivlib='/home/ikegami/usr/perlbrew/perls/5.20.1t/lib/5.20.1';
installarchlib='/home/ikegami/usr/perlbrew/perls/5.20.1t/lib/5.20.1/x86_64-linux-thread-multi';
installvendorlib='';
installvendorarch='';
installsitelib='/home/ikegami/usr/perlbrew/perls/5.20.1t/lib/site_perl/5.20.1';
installsitearch='/home/ikegami/usr/perlbrew/perls/5.20.1t/lib/site_perl/5.20.1/x86_64-linux-thread-multi';
>perl -V:"install(privlib|archlib|vendorlib|vendorarch|sitelib|sitearch)"
installprivlib='C:\progs\sp5280-x64\perl\lib';
installarchlib='C:\progs\sp5280-x64\perl\lib';
installvendorlib='C:\progs\sp5280-x64\perl\vendor\lib';
installvendorarch='C:\progs\sp5280-x64\perl\vendor\lib';
installsitelib='C:\progs\sp5280-x64\perl\site\lib';
installsitearch='C:\progs\sp5280-x64\perl\site\lib';
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

CPAN 将模块安装到 perl5 而不是 site_perl 的相关文章

  • 正则表达式从字符串中提取 IP 和端口

    我正在使用 Perl 尝试从字符串中提取 IP 地址和端口 我尝试使用的正则表达式是 s sip 字符串是 sip 255 255 255 255 8080 transport TCP sip 255 255 255 255 8080 显然
  • 如何在 perl 中合并两个数组,交替每个数组中的值

    假设我有 2 个如下所示的数组 a1 Vinay Raj harry b1 dude rock 合并后我想要这样的结果 Vinay dude Vinay rock Raj dude Raj rock harry dude harry roc
  • Perl 的反引号、system 和 exec 有什么区别?

    有人可以帮帮我吗 在 Perl 中 以下之间有什么区别 exec command and system command and print command 还有其他方法可以运行 shell 命令吗 exec 执行命令并一去不复返 这就像一个
  • 如何使用 Perl 分割文本文件并将其存储到二维数组中?

    230215 01 16 2000 57533 0 1045403 0 0 217623 230215 01 18 2000 77659 0 1045403 0 0 217624 230215 01 25 2000 76583 0 1045
  • 在 Ubuntu 中执行 .cgi 文件

    我在 Ubuntu 下运行 Apache PHP 当我运行 cgi 文件时 通过http localhost mycgi cgi 浏览器将显示代码而不是运行它 如何让浏览器执行 CGI 文件而不是显示其内容 将这些行添加到您的 apache
  • Perl Parallel::Forkmanager 不允许收集变量值

    也许因为子进程不知道我的散列 请参阅下面的代码 散列 输出没有收集任何内容 除了写入 tmp 文件之外 还有其他方法来收集该值吗 foreach Item AllItems pid pm gt start Item and next Tem
  • Perl:HTTP::微小删除留下损坏的锚标记

    我编写了一个脚本 该脚本收集从数据库读取的缓冲区内的所有 URL 检查该页面是否仍然存在 并使用 HTTP Tiny 从缓冲区中删除 URL 如果该 URL 无法访问或返回无效 问题是 HTTP Tiny 删除左锚标记 例如此处无效的文本
  • 如何在附加的 sqlite 数据库中创建外键?

    我正在尝试创建一个 sqlite3 数据库作为模拟生产环境的测试环境 由于生产的设置方式 表处于多个模式中 我已经在 DBIx Class 中设置了类 使用 schema gt storage gt dbh do将数据库与架构附加在一起 并
  • Perl LWP GET 或 POST 到 SNI SSL URL

    我有一个使用 perl LWP 向客户发送数据的系统 他们可以选择 URL 以及是 POST 还是 GET 一位新客户最近抱怨该服务不起作用 他们怀疑这是因为他们的端点使用了 SNI SSL 查看日志 我看到的只是错误消息 证书验证失败 5
  • Perl:正则表达式不抓取代码中的多行 C 风格注释

    我有一个 Perl 程序 读取用 C 编写的 SRC 文件 使用 SRC 文件中的正则表达式匹配来查找特定格式的数据以用作目标文件名 打开新的目标文件 执行另一个正则表达式匹配以查找包含关键字 abcd 的所有 C 风格注释 注意 这些注释
  • Perl regex:如何知道匹配数

    我循环遍历一系列正则表达式并将其与文件中的行进行匹配 如下所示 for my regex regexs ref LINE for rawfile regex do do something here next LINE 有没有办法让我知道我
  • 如何在 PHP 中反序列化 Perl Data::Dumper 输出

    我在 Perl 中有一个导出变量的结果 如下字符串 VAR1 guard gt undef work hand gt undef images gt 1 gt mini height gt 150 width gt 150 extensio
  • 如何修复 Math::BigInt 调用的 Math::Pari 中的“`as_number' 不是 Pari 函数名称”?

    在 Perl 5 8 5 上 我看到问题中列出的错误 我正在运行这些版本模块 数学 BigInt 1 89 数学 BigInt FastCalc 0 19 数学 BigInt GMP 1 24 数学 BigInt Pari 1 13 数学
  • Crypt::OpenPGP Symkey 解密失败:无效的密钥 ID

    我遇到问题在哪里地穴 OpenPGP https metacpan org module Crypt 3a 3aOpenPGP无法解密 GPG 编码的消息 看来我是不是第一个 http www perlmonks org node id 9
  • 在 perl 中 \*STDIN 与 STDIN 相同吗?

    我是作者Python化者 https github com snoopyjc pythonizer我正在尝试将 CGI pm 的代码从标准 perl 库翻译为 Python 我在中遇到了这段代码从客户端读取 https metacpan o
  • 在 Perl 中检测全局破坏

    我想检测我的物体是否被DESTROY作为全局破坏的一部分 并打印出警告 因为这显然是一个错误并导致数据丢失 显而易见的方法似乎是 sub DESTROY my self shift if i am in global destruction
  • 与 6 位随机字母数字代码发生冲突的概率是多少?

    我使用以下 Perl 代码生成随机字母数字字符串 仅限大写字母和数字 用作 MySQL 数据库中记录的唯一标识符 数据库的行数可能会保持在 1 000 000 行以下 但实际的绝对最大值约为 3 000 000 行 我是否有 2 条记录具有
  • 如何检测FTP文件传输完成?

    我正在编写一个脚本 用于轮询 FTP 站点上的文件并在可用时将它们下载到本地 文件由各个来源方随机存放到 FTP 站点 我需要一种方法能够在下载之前检测 FTP 站点上的文件是否已被源方完全传输 关于如何解决这个问题有什么想法吗 如果您可以
  • Perl:非阻塞管道 - 只收到一条消息

    几周前我问了一个关于实现非阻塞单父多子管道的问题 mob 巧妙地回答了这个问题here https stackoverflow com questions 52723489 perl one parent many children sin
  • 使用perl创建层次结构文件

    我的任务是使用 perl 创建父子层次结构文件 示例输入文件 制表符分隔 记录将以随机顺序排列在文件中 父项 可能出现在 子项 之后 S5 S3 S5 S8 ROOT S1 S1 S7 S2 S5 S3 S4 S1 S2 S4 77 S2

随机推荐

  • 使用 ImageMagick 和 Rails 进行像素 RGB

    我目前正在使用 PaperClip 和 ImageMagick 上传图像 我想获得图像的平均颜色 所以我这样做 使用 before create 挂钩 def get average color img Magick Image read
  • 使用 Office 365 API 的日历或用户时区

    是否可以通过 Office 365 或 Graph API 获取用户或其日历的时区 我知道您可以从特定事件获取开始和结束时区 但这对我没有帮助 抱歉 我们尚不通过 Office 365 或 Graph REST API 支持此功能 这是我们
  • 如何在 PowerShell 复制脚本中正确过滤多个字符串

    我正在使用来自的 PowerShell 脚本这个答案进行文件复制 当我想使用过滤器包含多种文件类型时 就会出现问题 Get ChildItem originalPath filter htm foreach targetFile htmPa
  • JavaScript XML 解析

    有没有一种方法可以在 JavaScript 中循环遍历 XML 节点的直接子节点 而不使用 jquery 或类似的库 我尝试使用 childNodes 但由于某种原因它无法正常工作 childNodes length 返回一个数字 该数字通
  • 环境变量中的 Watson Conversation_Error

    我正在尝试从 GitHub 复制 Watson对话简单节点 js 应用程序 https github com watson developer cloud conversation simple 并在我的本地运行 我已经创建了服务密钥和设置
  • 在 Python 脚本中获取当前的 git 哈希值

    我想在 Python 脚本的输出中包含当前的 git 哈希 作为版本号生成该输出的代码 如何在 Python 脚本中访问当前的 git 哈希值 无需绕过从git命令自己 GitPython是一个非常好的方法来做到这一点和许多其他git东西
  • 如何创建一个仅引导用户在 Google Play 上下载完整版本的存根应用程序?

    只是想创建一个存根应用程序 该应用程序启动后除了引导用户在 Google Play 上下载完整版本之外什么也不做 我假设存根 apk 显然需要相同的包名称 使用相同的证书签名 但版本代码较低 一直只指向 Google Play 产品页面 这
  • ReportNG不提供任何报告

    我听说 ReportNG 创建的报告比 TestNG 的正常报告更好 我尝试创建 ReportNG 报告 但失败了 我正在使用 Eclipse 我已经下载了 ReportNG 并将reportng 1 1 3 jar 和velocity d
  • 如何从 U-Boot 启动裸板二进制文件?

    我们如何从 U Boot 启动独立的裸板二进制文件 不是使用 U Boot 环境运行的独立二进制文件 而不是 Linux 内核 我的要求是使用我的二进制文件重新初始化主板和驱动程序 我可以用我的二进制文件替换启动介质 此处为 NOR 闪存
  • 单击时更改 MenuItem 可见性

    我正试图隐藏一个MenuItem并在选择第一个时使另一个可见 每个 ID 为 pencil R id button routines edit check mark R id button routines edit done 这里是相关代
  • 使用 null 参数调用 super.onCreate() ?

    In onCreate Bundle bdl 我们必须通过以下方式调用它的超级构造函数super onCreate bdl 对于新创建的活动 我们得到了一个 null BundleonCreate Bundle bdl 所以当我们打电话时s
  • 如何配置任务以在 VSC IDE(版本 2.0.0)中启动 .ps1 脚本?

    我想使用 Visual Studio Code IDE VSC 在 MQL 而不是本机 MetaEditor IDE 中进行开发 如下所述 如何在 Visual Studio 中编码和编译 MQL5 我的问题涉及编译过程 其中包含调用 Po
  • 如何阻止 UIScrollView 吞咽触摸

    I have UIScrollView有很多子视图 当我滚动时 我想点击要拖动的子视图 有没有一种可能的方法可以使UIScrollView停止吞咽接触 或者 当您取消滚动时是否可以开始新的触摸 就像它滚动并且我点击它一样 子视图也会被点击
  • 使用 ansible 创建 jenkins 工作

    我正在开发一个项目 使用 ansible 在 centos7 上部署 jenkins CI 服务器 我在使用 ansible 从 xml 模板创建 jenkins 作业时遇到问题 到目前为止 一切工作正常 但现在我希望能够创建作业 并使用
  • 如何禁用在肥皂中编码的身体数据,改造请求

    我有一个请求数据 其中一个元素采用 xml 作为值 使用以下方式将数据发送到服务器时 Body我的内部 xml 正在被编码 html 编码 因为该服务在服务器端失败 如何禁用内部xml 正在编码 sample
  • MPMovieplayerController 在后台时不播放下一个 URL

    我正在开发一个 iOS 应用程序 在其中使用 MPMoviePlayerController 流式传输 mp3 文件 当一个文件的播放完成时 我获取下一个 url 并播放该文件 所有内容在前台都运行良好 但是当我将应用程序移动到后台时 当前
  • 根据政策列表进行授权

    我正在开发不同的应用程序 每个应用程序都有自己的角色成员 在 Startup cs 中 var c configuration GetSection nameof Configuration Get
  • R:将标签从矩阵添加到图形

    我正在使用 R 编程语言 我生成了这个随机网络图和矩阵 library tidyverse library visNetwork library htmlwidgets set seed 123 mat lt matrix runif 19
  • 卸载后如何打开网站?

    软件安装后我可以打开一个网站 如下所示 Run Filename http example com Flags shellexec runasoriginaluser 有没有办法在软件卸载后打开另一个网站 要在卸载完成后打开不可执行的文件
  • CPAN 将模块安装到 perl5 而不是 site_perl

    我正在尝试将一些 cpan 模块临时安装到自定义文件夹 tmp perl 中 所以我修改了构建安装基础 o conf mbuildpl arg install base tmp perl o conf makepl arg INSTALL