我开发了一个闪亮的应用程序,允许用户通过R Markdown下载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)
一直试图为此找到一个解决方案但似乎无法帮助......
答案 0 :(得分:3)
我有类似的问题。我没有使用完整的文件路径。我正在使用〜/ path / to / file。我将其更改为完整路径(即删除了〜/),并且可以正常工作。
答案 1 :(得分:2)
我也遇到了这个问题,但是对我来说,原因是RStudio项目位于共享驱动器上,并且已经通过网络位置将其打开。当我关闭项目,并通过映射的网络驱动器将其打开时,该问题已解决。 (如果您运行getwd()
时您的位置以\\
开头,则可能是您正在发生的情况。)
答案 2 :(得分:1)
我与RStudio和pandoc错误(openBinaryFile错误)有关的问题是由于创建和加载项目的文件路径所致。
创建项目时,我使用通用路径创建了该路径,这是上图中的第二个选项。但是,当我将其更改为映射的驱动器号时,上面的选项却消失了,我的pandoc错误消失了。
我正在运行RStudio 1.2.1335和R版本3.4.4
答案 3 :(得分:1)
我一直遇到类似的问题,在带有网络文件存储的Windows计算机上使用RStudio,rmarkdown和pandoc。我听了各种建议,将驱动器映射到一个字母,但仍然没有帮助。
最终,我发现libPaths中的路径之一包含网络位置/通用路径。我将该libpath更新为映射的字母驱动器,并且一切似乎都进行得很好!希望这可能对某人有所帮助。
答案 4 :(得分:0)
我认为我有同样的问题。我最初尝试过Changing the Default Directory,但是每次我去编织RMarkdown文件时,都会出现相同的错误集,表明该过程仍在尝试访问Network 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。也许这不是推荐的方法,但是我只需要一些可行的方法。
答案 5 :(得分:0)
我最近在Windows工作计算机上遇到了这个问题,我只是在.libPaths()
文件中设置了Rprofile.site
。这与以前的答案一致,但更详细。
检查您当前的路径:
> .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,您应该就能编织文档。
答案 6 :(得分:0)
我也收到类似的错误消息,但就我而言,问题是我在其中一个块标题中使用了class CsvEditor(Widget):
def on_keyboard(self, window, key, scancode, codepoint, modifier):
if modifier == ['ctrl'] and codepoint == '+':
class CsvEditorKivy(App):
def build(self):
editor = CsvEditor()
Window.bind(on_keyboard=editor.on_keyboard)
self.title = 'CSV Editor'
return editor
符号:
{% if inputs.parameters.resources.gpu == 1 %}
nvidia.com/gpu: {{ inputs.parameters.resources.gpu }}
{% end %}
如果仅在Rstudio中运行笔记本就没有问题,但是显然使knitr / pandoc混淆了:编织时,我收到一条错误消息,如
#
从块标题中删除```{r show distribution of # of commits per month}
解决了这个问题。
答案 7 :(得分:0)
我在运行时遇到了同样的消息:
pandoc -s foo.html foo.md
我完全错过了应该出现的 -o
标志
pandoc -s -o foo.html foo.md
对于后者,一切都像魅力一样。