You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用cronR每小时执行脚本报错:file.exists(rscript) is not TRUE

解决cronR执行脚本时的"file.exists(rscript) is not TRUE"错误

你碰到的这个错误核心原因很明确:cronR找不到你指定的hackathon.R脚本文件,问题出在你使用system.file()的方式上——这个函数是专门用来查找R包内置的资源文件的,而你的脚本是自己本地的文件,根本不在cronR包的extdata目录里,所以肯定会返回文件不存在的错误。

下面是具体的解决步骤:

  • 直接使用脚本的绝对路径,摒弃错误的system.file用法
    把你的代码改成这样,直接指定本地脚本的完整路径:

    library(cronR)
    # 直接写入你脚本的绝对路径,不需要借助system.file
    f <- "/Users/abhishekgupta/Documents/Personal/hackathons/mckinsey/hackathon.R"
    
    # 先提前验证文件是否存在,避免后续报错
    if (file.exists(f)) {
      cmd <- cron_rscript(f)
      print(cmd)
    } else {
      stop("指定的脚本文件不存在,请仔细检查路径拼写或文件位置!")
    }
    
  • 先单独验证路径的正确性
    你可以先在R控制台单独运行file.exists("/Users/abhishekgupta/Documents/Personal/hackathons/mckinsey/hackathon.R"),如果返回FALSE,说明:

    • 路径拼写有错误(比如大小写、单词拼写)
    • 文件实际不在这个目录下
      仔细核对这两点,确保路径完全正确。
  • 添加每小时执行的定时任务(路径验证通过后)
    确认文件存在后,就可以用cron_add()来设置定时任务了:

    # 添加每小时执行的任务,可自定义描述信息
    cron_add(cmd, frequency = "hourly", description = "每小时自动运行hackathon脚本")
    

额外注意事项

  • 尽量用绝对路径而不是相对路径,避免因为R工作目录变化导致找不到文件的问题。
  • 确保你的hackathon.R脚本本身能单独正常运行,没有语法或逻辑错误,不然定时任务执行时也会失败。

内容的提问来源于stack exchange,提问作者Abhishek Gupta

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.27 09:54:52