5

Rscript尝试使用via运行我的 R 脚本时遇到问题crontab

在命令行中运行时,以下命令可以正常工作

Rscript /var/www/html/sent/sentiment/code/parse.r

但是里面的下面一行crontab

*/5 * * * * Rscript /var/www/html/sent/sentiment/code/parse.r > /var/www/html/sent/sentiment/code/backup.log 2>&1

会在日志中返回如下错误

Error in library(twitteR) : there is no package called 'twitteR'
Execution halted

为什么 Rscript 在使用 cron 运行时可能无法找到包?我怎样才能让 crontab '看到'我的 R 包。

非常感谢任何提示。

4

2 回答 2

4

正如评论中所建议的,问题可能是您和您的 crontab 正在使用不同的 R 安装。

要检查是否是这种情况,请以您which Rscript自己和 crontab 的身份运行。

如果它们不同(我怀疑),Rscript当您从 crontab 调用它时,您可以使用适当的完整路径。更持久的解决方案需要设置环境变量。

于 2013-02-10T02:19:44.877 回答
1

这很可能是您的.libPath()设置——这就是为什么我使用 Debian/Ubuntu 软件包使用系统范围的设置,而不是每个用户的设置。

要检查,请像您一样运行,也可以从同一个 crontab 运行

 print(.libPaths())
 print(installed.packages())

区别应该很清楚。我想我之前在这里回答了一个几乎相同的问题。

于 2013-02-10T02:19:57.430 回答