R标记:openBinaryFile:不存在(没有此类文件或目录)

R标记:openBinaryFile:不存在(没有此类文件或目录),r,shiny,r-markdown,pandoc,R,Shiny,R Markdown,Pandoc,我开发了一个闪亮的应用程序,允许用户通过R标记下载HTML报告。我正在尝试将自定义css和图像包含到我的rmarkdown文件中。但是,我一直收到以下错误消息: pandoc: Could not fetch (either css or image file) openBinaryFile: does not exist (No such file or directory) 当我在R Studio上编织.rmd文件时,它能够引用我想要的图像文件或css。但是,当我运行Shiny应用程序并下

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

pandoc: Could not fetch (either css or image file)
openBinaryFile: does not exist (No such file or directory)
当我在R Studio上编织.rmd文件时,它能够引用我想要的图像文件或css。但是,当我运行Shiny应用程序并下载html文件时,我会收到上面的错误消息。我甚至尝试将图像和css文件放在与.rmd文件相同的工作目录中,但没有用

output:
  html_document:
   css: pandoc.css

(same error message as above)

我一直在试图找到解决方案,但似乎无法……这里有人能帮忙吗?

我也遇到了类似的问题。我没有使用完整的文件路径。我正在使用~/path/to/file。我将其更改为完整路径(即删除了~/)并成功运行。

我也遇到了这个问题,但对我来说,原因是RStudio项目位于共享驱动器上,我通过网络位置打开了它。当我退出项目,并通过映射的网络驱动器将其重新打开时,问题得到了解决。(如果在运行
getwd()
时,您的位置以
\\
开头,这可能就是发生在您身上的情况。)

我遇到的RStudio问题和pandoc错误(openBinaryFile错误)是由于创建和加载项目的文件路径造成的

创建项目时,我使用通用路径创建它,这是上图中的第二个选项。但是,当我将其更改为映射的驱动器号(位于其上方的选项)时,我的pandoc错误消失了


我正在运行RStudio 1.2.1335和R 3.4.4版

我遇到了一个类似的问题,RStudio、rmarkdown和pandoc都是在带有网络文件存储的windows计算机上运行的。我听从了各种建议,将驱动器映射到一个字母,但仍然没有任何帮助


最后,我发现libpath中的一条路径包含网络位置/通用路径。我更新了libpath到映射的信件驱动器,一切似乎都进行得很顺利

我相信我也有同样的问题。我第一次尝试过,但每次我编织RMarkdown文件时,都会收到相同的错误集,表明进程仍在尝试访问网络H驱动器上的文件,而不是本地C驱动器上的文件,特别是在网络驱动器上的RMarkdown库文件中。我以为我是按照上面的建议做的,但在那之后,我没有成功,我尝试删除网络驱动器中的rmarkdown文件夹

例如:
\\fwnew12\Home\My Documents\R\win library\3.6\R标记


这似乎迫使R只使用我的本地C驱动器(
C:/ProgramFiles/R/R-3.6.3/library
),并最终成功编织了一个PDF。也许这不是推荐的方法,但我只需要一些有效的方法

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

第一步 检查您当前的路径:

> .libPaths()
[1] "\\\\my_work_server.se/some_subdir$/username/Dokument/R/win-library/3.6"
[2] "C:/R/R-3.6.3/library"
步骤2 查找
\\\
,在本例中,它是路径
“\\\\my\u work\u server.se/some\u subdir$/username/Dokument/R/win library/3.6”
。这个路径很可能是一些已经挂载的主目录,在我的例子中,它是
H:
=
“\\\\my\u work\u server.se/some\u subdir$/username/
。如果您没有挂载的目录,您可能需要先修复这个目录,或者将库路径更改为另一个目录

步骤3 因此,如果您已经在
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"))
}

。首先我收到了一条类似的错误消息,但在我的例子中,问题是我在一个区块标题中使用了
#
符号:

```{r show distribution of # of commits per month}
如果您只是在Rstudio中运行笔记本,这是没有问题的,但显然会混淆knitr/pandoc:在编织时,我收到一条错误消息,如

pandoc: <path>/figure-html/show distribution of : openBinaryFile: does not exist (No such file or directory)`)
pandoc:/figure html/show发行版:openBinaryFile:不存在(没有这样的文件或目录)`)

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

我在运行时遇到了相同的消息:

pandoc -s foo.html foo.md
我完全错过了
-o
标志,因为它本该如此

pandoc -s -o foo.html foo.md

有了后者,一切都很顺利。

我也遇到了同样的错误。希望有人能解决它。谢谢@Haloom的回答。为了大家的利益,为了补充一点,Pandoc似乎能够引用带有空格的文件路径,所以你可以通过“/Home/My Folder”来引用它“,不需要任何转义反斜杠或引号。我认为~/是完整路径。离开~肯定不正确,但将~替换为例如/home/user。至少方向是正确的。在Wsl中,由于UNC路径不工作,您必须创建网络驱动器。如何“通过映射的网络驱动器”打开文件?谢谢首先,您需要知道您试图访问的网络位置。接下来,在Windows文件管理器中,您需要右键单击右侧窗格中的“此电脑”,然后选择“映射网络驱动器”。通过对话将先前的网络位置定义为字母驱动器。现在有两种方法可以访问要打开的文件。使用驱动器号路径应该可以。谢谢@AColeman!你知道为什么会出现这个问题吗?我不记得更改过这些类型的目录设置。我认为这是Pandoc的问题,rmarkdown继承了Pandoc,因为它使用了Pandoc。但说实话,自从找到解决方法以来,我还没有对它进行过太多的研究。当我遇到这个问题时,我使用的是一台没有安装WSL的机器。并不是说它不会导致同样的问题,但我知道在我的情况下,这不是问题的原因。嗨,Andreas,我很感谢你为改进(格式)问题所做的努力;在本例中,R markdown中的chuck头实际上是以“`{R…”开头的,因此我更愿意保留sn