【问题标题】:How can I install Perl modules that are not on CPAN?如何安装不在 CPAN 上的 Perl 模块?
【发布时间】:2019-02-26 01:08:48
【问题描述】:

我正在尝试使用 O-Saft 程序来验证我的 SSL 证书。我在 FreeBSD 上使用 p5。 O-Saft 的 git 源包含两个名为 SSLhello.pm 和 SSLinfo.pm 的模块。在 CPAN 上找不到这些模块。我在哪里安装这些模块以便 Perl 可以使用它们?

这是我的环境变量:

PERL5LIB="/home/kevdog/perl5/lib/perl5${PERL5LIB:+:${PERL5LIB}}"; export PERL5LIB;
PERL_LOCAL_LIB_ROOT="/home/kevdog/perl5${PERL_LOCAL_LIB_ROOT:+:${PERL_LOCAL_LIB_ROOT}}"; export PERL_LOCAL_LIB_ROOT;

【问题讨论】:

  • O-Saft 不需要安装。请参阅README:“O-Saft 可以从解压或克隆的目录中执行,无需安装。”但是如果您仍然想安装它,还有一个 INSTALL.sh 脚本。
  • @melpomene,我相信安装(复制?)应用程序而不是安装 Perl 模块以供外部使用。
  • @KevDog,我不相信这些模块会被 O-Saft 本身以外的任何东西使用。
  • @melpomene -- 你是对的。我发现 Install.sh --check 命令的问题一直告诉我尝试使用 cpan 安装缺少的模块。我想使用的模块位于 git 源的 net 子目录中。 o-saft.pl 的问题在于脚本的第一行 -- #!/usr/bin/perl。我正在使用 freebsd,而我的 perl 位于 #!/usr/local/bin/perl 中。我修改了脚本,它按照说明运行。我花了大约一个小时来解决这个问题--

标签: perl


【解决方案1】:

只需在您的 Perl 程序中 use 他们。当你运行它时,它会抱怨它们不在@INC 中,并告诉你哪些目录在@INC 中。

将它们放在这些目录之一或修改您的包含路径。

[ ~ ] ➜  perl -MExample -e"echo 1";
Can't locate Example.pm in @INC (you may need to install the Example module) (@INC contains: /Users/quentin/perl5/perlbrew/perls/perl-5.26.0-RC1/lib/site_perl/5.26.0/darwin-2level /Users/quentin/perl5/perlbrew/perls/perl-5.26.0-RC1/lib/site_perl/5.26.0 /Users/quentin/perl5/perlbrew/perls/perl-5.26.0-RC1/lib/5.26.0/darwin-2level /Users/quentin/perl5/perlbrew/perls/perl-5.26.0-RC1/lib/5.26.0).

【讨论】:

    猜你喜欢
    • 2017-07-19
    • 2011-03-29
    • 2016-07-08
    • 2013-06-30
    • 2016-07-11
    • 1970-01-01
    • 2011-11-02
    • 1970-01-01
    • 2012-07-25
    相关资源
    最近更新 更多