首页 > 解决方案 > 我无法编织我的 rmarkdown 文件 - pandoc 错误

问题描述

我的大学提供的笔记本电脑最近被更换了,现在当我尝试编织我的 Rmd 文件时,如果出现以下错误:

pandoc.exe: \\: openBinaryFile: invalid argument (Invalid argument)
Error: pandoc document conversion failed with error 1
Execution halted

这些文件过去可以在我的旧笔记本电脑上完美编织,并且文件中的所有代码块仍然可以正常运行。

pandoc_available() 函数返回 TRUE

我搜索过的类似问题的答案表明这与文件路径有关,但我对此不够熟悉,无法理解我应该做什么。我尝试将网络驱动器 (Z:) 映射到存储 Rmd 文件的文件夹,然后将 RStudio 中的工作目录更改为该驱动器,但它没有帮助(现在我不知道如何将其更改回〜或首先提到的)

我还尝试下载最新版本的 Pandoc,在 Windows 资源管理器上搜索显示已安装在我的用户目录中,但我在 C:\Program Files\RStudio\bin 中也有一个版本。这也没有帮助。

我不确定这是否相关,但这里是我正在运行的 R 版本的信息:

R 版本 4.0.3 (2020-10-10) -- "Bunny-Wunnies Freak Out" 版权所有 (C) 2020 统计计算平台 R 基金会:x86_64-w64-mingw32/x64(64 位)

您能告诉我诊断问题还需要哪些其他信息吗?我将进行编辑以包括在内。

很抱歉,这个问题的说明太差了,希望有任何改进它的帮助。

**** 更新 ****

我发现如果我

(i) 在 YAML 标头中指定我想要一个 .md 文件,

(ii) 通过编织 markdown 文件创建一个 .md 文件,

(iii) 将该 .md 文件手动复制到 Pandoc 目录

(iv)pandoc.exe -s -o test.knit.md test.html从 Pandoc 目录中的 MSDOS 命令提示符运行,

然后我可以创建 html 输出文件。

但是,将 RStudio 的工作目录更改为 Pandoc 目录并运行

x <- rmarkdown::render("test.Rmd", run_pandoc = FALSE, clean = FALSE)
knit_meta <- attr(x, "knit_meta")
rmarkdown::render(   input = 'test.knit.md'    , knit_meta = knit_meta )

根据https://stackoverflow.com/questions/38908766/how-to-generate-an-md-file-from-a-rmarkdown-file- contains-an-htmlwidge t 给出了与我原来的帖子中显示的相同的错误.

这是否会引发任何可能导致解决我的问题的想法?

标签: r-markdownknitrpandoc

解决方案


大学 IT 人员能够通过从网络驱动器中卸载 R 和 RStudio 并将其安装在 C: 驱动器上来解决我的问题,我现在能够成功编织。


推荐阅读