我有一个关于Perl脚本和CPAN Twitter模块的问题。
我有一个运行速度测试的脚本,并试图将结果发布到Twitter上。
我已经设法通过从我的用户帐户运行./speedtest.pl来手动运行我的脚本,但是当我尝试使用crontab运行它时,我得到了一个错误。
我已经使用以下命令安装了Net::Twitter、File::HomeDir和Config::Tiny
cpanm Net::Twitter等。
(注: no sudo)当我从本地crontab运行我的脚本时,我得到了以下错误:-
Can't locate Net/Twitter.pm in @INC (you may need to install the
Net::Twitter module) (@INC contains: /etc/perl /usr/local/lib/arm-linux-
gnueabihf/perl/5.20.2 /usr/local/share/perl/5.20.2 /usr/lib/arm-linux-
gnueabihf/perl5/5.20 /usr/share/perl5 /usr/lib/arm-linux-gnueabihf
/perl/5.20 /usr/share/perl/5.20 /usr/local/lib/site_perl .) at /home/pi
/speedtest.pl line 99.
BEGIN failed--compilation aborted at /home/pi/speedtest.pl line 99.有人能给我指个方向吗?我怀疑它与Net::Twitter等的位置有关,但我不知道如何修复它,以便让crontab知道在哪里可以找到它。
发布于 2016-06-28 19:35:21
从命令行运行的Perl安装与执行crontab作业时由系统运行的安装不同
尝试which perl,然后查看在cron下运行的相同命令的输出
有几种方法可以解决这个问题,具体取决于系统的配置。最明显的方法是使用您自己的perl副本的完整路径,但是这可能会让事情继续进行,但这可能不是一个好主意
发布于 2016-06-29 20:53:32
我想您可能已经使用您的本地帐户安装了Net::Twitter。登录到root并安装模块应该可以解决这个问题。
https://stackoverflow.com/questions/38073389
复制相似问题