首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Crontab和perl

问Crontab和perl
EN

Stack Overflow用户
提问于 2016-06-28 18:14:59
回答 2查看 134关注 0票数 0

我有一个关于Perl脚本和CPAN Twitter模块的问题。

我有一个运行速度测试的脚本,并试图将结果发布到Twitter上。

我已经设法通过从我的用户帐户运行./speedtest.pl来手动运行我的脚本,但是当我尝试使用crontab运行它时,我得到了一个错误。

我已经使用以下命令安装了Net::Twitter、File::HomeDir和Config::Tiny

代码语言:javascript
复制
cpanm Net::Twitter

等。

(注: no sudo)当我从本地crontab运行我的脚本时,我得到了以下错误:-

代码语言:javascript
复制
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知道在哪里可以找到它。

speedtest.pl is here

EN

回答 2

Stack Overflow用户

发布于 2016-06-28 19:35:21

从命令行运行的Perl安装与执行crontab作业时由系统运行的安装不同

尝试which perl,然后查看在cron下运行的相同命令的输出

有几种方法可以解决这个问题,具体取决于系统的配置。最明显的方法是使用您自己的perl副本的完整路径,但是这可能会让事情继续进行,但这可能不是一个好主意

票数 1
EN

Stack Overflow用户

发布于 2016-06-29 20:53:32

我想您可能已经使用您的本地帐户安装了Net::Twitter。登录到root并安装模块应该可以解决这个问题。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38073389

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档