R Markdown:openBinaryFile:不存在(没有这样的文件或目录)

mznpcxlj  于 2023-05-04  发布在  其他
关注(0)|答案(8)|浏览(197)

我开发了一个闪亮的应用程序,允许用户通过R Markdown下载HTML报告。我正在尝试将自定义css和图片包含到我的rmarkdown文件中。但是,我一直收到这个错误消息:

pandoc: Could not fetch (either css or image file)
openBinaryFile: does not exist (No such file or directory)

当我编织。rmd文件,它能够引用我想要的图像文件或css。但是,当我运行Shiny应用程序并下载html文件时,我得到了上面的错误信息。我甚至试着把图片和css文件放在同一个工作目录下。rmd文件,但无济于事。..

output:
  html_document:
   css: pandoc.css

(same error message as above)

我一直想找到解决办法,但似乎不能。有人能帮忙吗

66bbxpm5

66bbxpm51#

我也遇到了这个问题,但对我来说,原因是RStudio项目在一个共享驱动器上,我已经通过网络位置打开了它。当我关闭项目时,问题得到了解决,并通过Map的网络驱动器重新打开它。(如果当您运行getwd()时,您的位置以\\开头,那么这可能就是发生在您身上的事情。)

fiei3ece

fiei3ece2#

我也遇到过类似的问题。我没有使用完整的文件路径。使用~/path/to/file。我把它改成了完整的路径(i。e.删除了~/),它工作了。

jpfvwuh4

jpfvwuh43#

我最近在我的Windows工作计算机上遇到了这个问题,我只是在Rprofile.site文件中设置了.libPaths()。这与以前的答案一致,但更详细一点。

第一步

检查您的当前路径:

> .libPaths()
[1] "\\\\my_work_server.se/some_subdir$/username/Dokument/R/win-library/3.6"
[2] "C:/R/R-3.6.3/library"

第二步

查找\\\,在本例中为路径"\\\\my_work_server.se/some_subdir$/username/Dokument/R/win-library/3.6"。这个路径很可能是一些已经挂载的主目录,在我的例子中是H: = "\\\\my_work_server.se/some_subdir$/username/。如果你没有挂载的目录,你可能需要先修复这个问题,或者将库路径更改为另一个。

第三步

因此,如果您在C:/R/R-3.6.3/下安装了R,则编辑文件C:/R/R-3.6.3/etc/Rprofile.site并添加:

.First <- function(){
  .libPaths(c("H:/Dokument/R/win-library/3.6", "C:/R/R-3.6.3/library"))
}

请记住将H:更改为挂载网络目录的位置。

第四步

就是这样,重新启动R,你应该能够编织你的文档。

mqxuamgl

mqxuamgl4#

我在使用RStudio时遇到的问题& pandoc错误(openBinaryFile错误)是由于创建和加载项目时的文件路径。
Project File Path
当我创建项目时,我使用Universal路径创建了它,这是上图中的第二个选项。但是,当我将此更改为Map的驱动器号,它上面的选项时,我的pandoc错误就消失了。
我正在运行RStudio 1。2.1335和R版本3。4.4

iyr7buue

iyr7buue5#

我也遇到过类似的问题,在一台带有网络文件存储的Windows机器上使用RStudio、rmarkdown和pandoc。我遵循了各种建议,将驱动器Map到一个字母,但仍然没有帮助。
最终,我发现libPaths中的一个路径包含网络位置/通用路径。我更新了libpath到Map的字母驱动器,一切似乎都很顺利!

zengzsys

zengzsys6#

我有一个类似的错误消息,但在我的情况下,问题是我在其中一个块标题中使用了#符号:

```{r show distribution of # of commits per month}

如果你只是在Rstudio中运行notebook,这是没有问题的,但显然混淆了knitr/pandoc:当编织时,我得到一个错误信息,如

pandoc: <path>/figure-html/show distribution of : openBinaryFile: does not exist (No such file or directory)`)

从块标题中删除#解决了这个问题。

nlejzf6q

nlejzf6q7#

我只是在跑步的时候遇到了同样的消息:

pandoc -s foo.html foo.md

在那里我完全错过了-o标志,因为它应该是

pandoc -s -o foo.html foo.md

对于后者,一切都像一个魅力。

wfauudbj

wfauudbj8#

我相信我也有同样的问题。我第一次尝试了Changing the Default Directory,但每次我去编织RMarkdown文件时,我都会得到相同的一组错误,表明该进程仍然试图访问我的网络H驱动器上的文件,而不是我的本地C驱动器,特别是它正在网络驱动器上查找rmarkdown库文件。我以为我是按照上面的建议,但之后没有工作,我试图删除rmarkdown文件夹中的网络驱动器
例如:\\fwnew12\Home\My Documents\R\win-library\3.6\rmarkdown
这似乎迫使R只能使用我的本地C驱动器(C:/Program Files/R/R-3.6.3/library),并最终成功编织了一个PDF。也许这不是一个推荐的方法,但我只是需要一些有效的东西。

相关问题