【问题标题】:Render rmarkdown from RStudio server to external drive将 rmarkdown 从 RStudio 服务器渲染到外部驱动器
【发布时间】:2017-03-10 08:30:26
【问题描述】:

在本地工作时,我使用以下来渲染 rmarkdown 文档:

rmarkdown::render(input = rmd.temp , output_dir = out.dir, output_file = out.name)

这将获取我的模板文档rmd.temp,然后将文档呈现为out.dir,并将文件命名为out.name

我正在尝试在 RStudio 服务器上进行复制。当out.dir 是本地目录时,代码可以正常工作。但是,当out.dir 是到外部驱动器的映射目录时,我收到以下错误:

Error in replayPlot(x) : 
  could not open file'/...path..../figure-html/unnamed-chunk-2-1.png'

映射驱动器的链接有效,因为我可以使用:

dir.create(out.dir)

并看到新文件夹出现。任何想法为什么渲染会卡住?

更新

这可能只是权限问题,因为我也不能写 csv 文件:

df <- data.frame(a=1:10)

setwd(out.dir)

write.csv(df, file = "df.csv")

Error in file(file, ifelse(append, "a", "w")) : 
  cannot open the connection

RStudio 服务器正在 Ubuntu 上运行。我将提出一个关于如何授予 RStudio 文件夹权限的新问题。

【问题讨论】:

    标签: r r-markdown shiny-server rstudio-server


    【解决方案1】:

    对于遇到此问题的任何人,可以通过将其添加到脚本的开头来解决它:

    Sys.umask(mode="0000")
    

    这是一个权限问题。在 shell / 命令行中,全局权限为“0000”,但在 RStudio 控制台中为“0002”,它为新文件生成 -rw-r-- 权限。可以为 RStudio 更改全局权限,但这可行。

    【讨论】:

      猜你喜欢
      • 2012-06-04
      • 1970-01-01
      • 1970-01-01
      • 2020-12-10
      • 2019-10-06
      • 2023-04-03
      • 2018-02-15
      • 2021-07-02
      • 1970-01-01
      相关资源
      最近更新 更多