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

Rmd代码运行可找到图片,Knit生成PDF时报错无法找到文件

解决RMD Knit PDF时图片找不到的问题

针对你遇到的R 4.4.0环境下Knit报错找不到图片、但代码块单独运行正常的问题,给你几个可行的解决办法:

  • 强制绑定Knit的工作目录到项目根
    在RMD开头的setup代码块里添加如下代码,确保knit时的工作目录和项目根一致:

    knitr::opts_knit$set(root.dir = rprojroot::find_rstudio_root_file())
    

    如果未安装rprojroot,先运行install.packages("rprojroot")完成安装。

  • 优化here包的路径拼接方式
    避免手动用paste0拼接路径,改用here的多参数写法,它会自动适配系统路径分隔符,减少出错概率:

    knitr::include_graphics(
      here::here("figures", "species", cur_yr, paste0("place_fig1_", cur_yr, ".png")),
      dpi = 125
    )
    
  • 更新here包到最新版本
    R 4.4.0作为新版本,可能和旧版here存在兼容性问题,执行以下命令更新:

    install.packages("here")
    
  • 验证路径的正确性
    在setup块里添加代码打印实际路径,确认Knit时的路径是否和预期一致:

    # 打印当前工作目录
    cat("Knit时工作目录:", getwd(), "\n")
    # 生成并打印图片路径
    img_path <- here::here("figures", "species", cur_yr, paste0("place_fig1_", cur_yr, ".png"))
    cat("图片路径:", img_path, "\n")
    # 检查文件是否存在
    cat("文件是否存在:", file.exists(img_path), "\n")
    

    Knit时查看控制台输出,就能明确是路径错误还是cur_yr变量取值异常等问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.21 19:27:35