【问题标题】:How to install basic modules for MSYS Perl?如何为 MSYS Perl 安装基本模块?
【发布时间】:2019-06-22 16:17:24
【问题描述】:

我需要使用MSYS Perl 才能在 Windows 7 上的 MSYS2 上安装 autoconf,因为 ActivePerl 或 Strawberry Perl 不适用于 autoconf 安装。唯一的问题是 MSYS Perl 的默认安装似乎没有包含一些基本模块,例如 strictCarp。当我制作 autoconf 时,它会给出:

在@INC 中找不到 Carp.pm(您可能需要安装 Carp 模块)(@INC 包含:../lib /usr/local/perl-5.22.1/lib/perl5/core_perl /usr /local/perl-5.22.1/lib/perl5/site_perl /usr/local/perl-5.22.1/lib/perl5/vendor_perl

当我尝试手动安装Carp 时,在perl Makefile.PL 步骤中我得到:

在@INC 中找不到warnings.pm

问题是,为了安装warnings.pm,我需要安装基本模块集,例如strict,但这些模块似乎不存在于核心模块目录/usr/local/perl-5.22.1/lib/perl5/core_perl

如何为我的 MSYS Perl 安装这些基本模块?

【问题讨论】:

  • 只是我的 0.02 美元,但 /usr/local/ 听起来不像是从 MSYS2 Perl 包中调用 /usr/bin/perl.exe...
  • 仅供参考:在我的 WIndows 10 机器上的 MSYS2 下打印 @INC 时,我只能得到 /usr/lib/perl5/usr/share/perl5 下的路径。
  • @StefanBecker 谢谢你的评论。我故意将 MSYS Perl 安装到 /usr/local 下的一个新目录中,以便能够在需要时切换到 ActiveState 的 Perl。我将这个新的 Perl 定义到 MSYS 的 .bash_profile 中,就像 export PERL5=/usr/local/perl-5.22.1 && PATH=$PATH:$PERL5/bin 一样,我当然从 Windows 系统环境变量中删除了 ActiveState 的 Perl 路径。此设置在 MSYS 环境下运行良好。
  • 为了定义 Perl 模块的目录,我在 ~/.bash_profile export PERL5LIB=$PERL5/lib/perl5/vendor_perl"${PERL5LIB:+:$PERL5LIB}" export PERL5LIB=$PERL5/lib/perl5/site_perl"${PERL5LIB:+:$PERL5LIB}" export PERL5LIB=$PERL5/lib/perl5/core_perl"${PERL5LIB:+:$PERL5LIB}" 中输入了这些行,这似乎也可以正常工作。
  • @Romario:如果您的“切换要求”是静态的,那么使用pacman 安装msys2 perl 包然后将/usr/bin/perl 设为可以切换的符号链接怎么样?您甚至可能想考虑使用 alternatives 系统。

标签: perl module cpan autoconf msys2


【解决方案1】:

这就是我在msys2 中安装perl 模块的方式:

$ pacman -S perl-Carp-Clan

这里是msys2 可用的perl 软件包的完整列表:

https://packages.msys2.org/group/perl-modules

【讨论】:

    猜你喜欢
    • 2021-07-14
    • 1970-01-01
    • 1970-01-01
    • 2020-08-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多