通过命令行运行cron时出现Perl错误?

时间:2014-10-03 15:21:41

标签: perl

我最近将我的网站移到了新的服务器上,似乎在运行我的Perl cron作业时遇到了问题。

root@server [/]# perl /home/username/backend/cron/daily_first.pl

Can't locate Proc/PID/File.pm in @INC (@INC contains: /home/username/backend/cron/../lib /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 .) at /home/username/backend/cron/cronjob.pl line 8.

BEGIN失败 - 编译在/home/username/backend/cron/cronjob.pl第8行中止。

这是我正在运行的文件中前9行代码的副本:

#!/usr/bin/perl

use strict;
use warnings;
use FindBin qw/$Bin/;
use lib "$Bin/../lib";

use Proc::PID::File;
exit if Proc::PID::File->running( { dir => $Bin } );

如果它有帮助,我所有的Perl cron作业似乎都会出现这样的错误......

1 个答案:

答案 0 :(得分:3)

如果你有一个更现代的perl版本,你会收到更有帮助的错误消息:

  

无法在@INC中找到Proc / PID / File.pm(您可能需要安装Proc :: PID :: File模块)(@INC包含:

您没有安装the Proc::PID::File module,或者您的@INC路径配置错误(因此它不包含您安装它的目录)。

使用您喜欢的任何方法安装模块(我倾向于the cpanm toolinstall instructions)。