尝试使用Rscript
通过crontab
运行我的R脚本时出现问题。
以下命令在命令行中运行时工作正常
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
为什么在使用cron运行时Rscript无法找到软件包? 如何让crontab'看到'我的R包。
任何提示都非常赞赏。
答案 0 :(得分:4)
正如评论中所建议的那样,问题可能是您和您的crontab正在使用不同的R安装。
要检查是否是这种情况,请自行运行which Rscript
和crontab。
如果它们不同(我怀疑),当您从crontab调用它时,可以使用相应Rscript
的完整路径。更永久的解决方案需要设置环境变量。
答案 1 :(得分:1)
很可能是你的.libPath()
设置 - 这就是我使用Debian / Ubuntu软件包来使用系统范围而非每个用户设置的原因。
要检查,请运行同样的crontab
print(.libPaths())
print(installed.packages())
差异应该变得清晰。我想我之前在这里回答了一个几乎相同的问题。