从 RStudio 服务器渲染 rmarkdown 到外部驱动器
Render rmarkdown from RStudio server to external drive
在本地工作时,我使用以下方式呈现 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'
映射驱动器的 link 有效,因为我可以使用:
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 文件夹权限的新问题。
对于遇到此问题的任何人,可以通过将此添加到脚本的开头来解决:
Sys.umask(mode="0000")
这是一个权限问题。在 shell / 命令行中,全局权限为“0000”,但在 RStudio 控制台中为“0002”,这会为新文件生成 -rw-r-- 权限。可以为 RStudio 更改全局权限,但这有效。
在本地工作时,我使用以下方式呈现 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'
映射驱动器的 link 有效,因为我可以使用:
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 文件夹权限的新问题。
对于遇到此问题的任何人,可以通过将此添加到脚本的开头来解决:
Sys.umask(mode="0000")
这是一个权限问题。在 shell / 命令行中,全局权限为“0000”,但在 RStudio 控制台中为“0002”,这会为新文件生成 -rw-r-- 权限。可以为 RStudio 更改全局权限,但这有效。