【问题标题】:Change Jenkins include更改 Jenkins 包括
【发布时间】:2014-07-17 13:33:53
【问题描述】:

我通过本地库安装了一些模块。这是因为我没有root访问权限。现在我正在尝试在 Jenkins Job 中使用这些模块。在我运行 Jenkins 的那一刻,它抱怨找不到安装在本地库中的 Perl 模块。

Can't locate Devel/Cover.pm in @INC (you may need to install the Devel::Cover module)     (@INC contains: usr/bin/perl

我在 /home/mattias/perl5/lib/perl5/ 中安装了这个模块

我试图解决的问题是:

1 借助字符串参数更改 Jenkins 中的 PERL5LIB:

 RUN_CMD
 export PERL5LIB= /home/mattias/perl5/lib/perl5

2 运行脚本时使用 -I 标志

perl -I -MDevel::Cover /home/mattias/script.pl

由于我无权访问 Jenkins @INC,我无法在其中添加模块。它必须通过我的本地库。需要使用的最重要的模块是Devel::Cover。

有人有什么建议吗?

// 马蒂亚斯

【问题讨论】:

    标签: perl jenkins


    【解决方案1】:

    当我运行 Jenkins 时,它抱怨找不到我安装在 local::lib 中的 Perl 模块。

    local::lib 不是有效的 unix 目录。您安装模块 Devel::Cover 的确切路径是什么?您必须将该路径添加到@INC。 Here's how.

    你也可以把你的 Perl 程序放进去:

    use lib '/usr/lib/mymodules/'; # Appends path to @INC at compile time.
    use Devel::Cover;
    

    【讨论】:

    • 好的。所以我的模块(Cover.pm)在/home/mattias/perl5/lib/perl5/Devel/Cover.pm。我的@INC 有这个模块的路径,因此当我通过终端在本地运行它时脚本可以工作。但由于 Jenkins 以另一个用户身份运行,它抱怨找不到 Cover.pm。我尝试在 Perl 程序中添加“使用 lib '/home/mattias/perl5/lib/perl5/Devel/Cover.pm' 但仍然收到相同的错误消息。
    猜你喜欢
    • 2012-12-28
    • 2023-03-13
    • 2013-09-04
    • 2019-09-30
    • 1970-01-01
    • 2013-02-02
    • 2016-05-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多