【问题标题】:Pandoc: error 1, binary file does not existPandoc:错误1,二进制文件不存在
【发布时间】:2021-01-03 03:17:01
【问题描述】:

我在使用 rmarkdown 将 .rmd 文件编织成 .html(和 pdf )文件时遇到问题。我在以下示例中尝试编写的报告只是您在启动新的 rmakrdown 文档时获得的示例报告。

这是我收到的错误消息:

==> rmarkdown::render('C:/Users/***/Documents/test/test.Rmd',  encoding = 'UTF-8');


processing file: test.Rmd
  |..........                                                            |  14%
  ordinary text without R code

  |....................                                                  |  29%
label: setup (with options) 
List of 1
 $ include: logi FALSE

  |..............................                                        |  43%
  ordinary text without R code

  |........................................                              |  57%
label: cars
  |..................................................                    |  71%
  ordinary text without R code

  |............................................................          |  86%
label: pressure (with options) 
List of 1
 $ echo: logi FALSE

  |......................................................................| 100%
  ordinary text without R code


output file: test.knit.md

"C:/Program Files/RStudio/bin/pandoc/pandoc" +RTS -K512m -RTS test.utf8.md --to html4 --from markdown+autolink_bare_uris+tex_math_single_backslash --output test.html --email-obfuscation none --self-contained --standalone --section-divs --template "\\storage-***.se\home$\****\My Documents\R\win-library\4.0\rmarkdown\rmd\h\default.html" --no-highlight --variable highlightjs=1 --variable "theme:bootstrap" --include-in-header "C:\Users\*****\AppData\Local\Temp\Rtmpc1mrLs\rmarkdown-str511010115ff7.html" --mathjax --variable "mathjax-url:https://mathjax.rstudio.com/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML" --lua-filter "\\storage-****.se/home$/****/My Documents/R/win-library/4.0/rmarkdown/rmd/lua/pagebreak.lua" --lua-filter "\\storage-***-se/home$/*****/My Documents/R/win-library/4.0/rmarkdown/rmd/lua/latex-div.lua" 
pandoc.exe: \\: openBinaryFile: does not exist (No such file or directory)
Error: pandoc document conversion failed with error 1
Execution halted

Pandoc 尝试访问保存在我计算机上的文件,但由于某种原因找不到它。这是我的工作计算机,所有内容都保存在本地,然后上传到服务器。我已经在我的办公室与 IT 进行过交谈,他们不知道为什么它不起作用。 在将所有内容(r 项目、包和我进行分析的文件)移动到未上传到备份服务器的地图之前,我已经设法获得了 rmarkdown 报告。 然而,这不是一种安全的方式,因为显然没有备份。我试图只在本地使用 r-project 进行针织,但它也不起作用。 为什么 pandoc 找不到这个二进制文件,有没有办法让它工作而不必冒着工作安全的风险?如果没有,是否有另一种方法可以在没有 pandoc 的情况下创建类似文件?

我看到了类似的问题,但没有什么可以给我任何答案。或者给 IT 部门的人一些线索。

谢谢! 约翰娜

这是会话信息:

> sessionInfo()
R version 4.0.2 (2020-06-22)
Platform: x86_64-w64-mingw32/x64 (64-bit)
Running under: Windows 10 x64 (build 17134)

Matrix products: default

locale:
[1] LC_COLLATE=Swedish_Sweden.1252  LC_CTYPE=Swedish_Sweden.1252   
[3] LC_MONETARY=Swedish_Sweden.1252 LC_NUMERIC=C                   
[5] LC_TIME=Swedish_Sweden.1252    

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base     

loaded via a namespace (and not attached):
 [1] compiler_4.0.2  htmltools_0.5.0 tools_4.0.2     yaml_2.2.1      rmarkdown_2.3  
 [6] knitr_1.29      xfun_0.16       digest_0.6.25   rlang_0.4.7     evaluate_0.14  

版本:

> version
               _                           
platform       x86_64-w64-mingw32          
arch           x86_64                      
os             mingw32                     
system         x86_64, mingw32             
status                                     
major          4                           
minor          0.2                         
year           2020                        
month          06                          
day            22                          
svn rev        78730                       
language       R                           
version.string R version 4.0.2 (2020-06-22)
nickname       Taking Off Again 

> pandoc_version()
[1] ‘2.7.2’

> pandoc_available()
[1] TRUE

【问题讨论】:

    标签: r r-markdown pandoc


    【解决方案1】:

    我已经解决了这个问题!

    实际的问题是rmarkdown 包的路径。它在我的//storage... 路径上。我最终要做的是进入系统设置,并将R_LIBS_USER 的环境变量添加到我的H:/ 路径中。现在当pandoc 查找rmarkdown 详细信息时,它可以找到路径。

    【讨论】:

    • 约翰娜,你能详细解释一下吗?我也有同样的问题。系统设置在哪里以及如何添加此变量? Tnx
    • 嗨,我有一台 Windows 计算机,所以我遵循了这个过程 architectryan.com/2018/03/17/add-to-the-path-on-windows-10 但我没有更改系统变量中的路径,而是专注于顶部窗口“使用的变量”并按下“添加”并输入 r 变量的名称,然后输入正确的路径。我可以通过查看 R 中的 sys.env() 并选择路径错误的变量来找到要更改的变量。对我来说,它是任何带有 \\ 的东西。我希望这会有所帮助!
    • 最后对我来说,当我刚刚打开一个新的 R 项目并重新开始时,一切都正常了。奇怪的。但是 tnx。
    【解决方案2】:

    使用this link 作为研究。尝试使用文件的相对路径。在这一个中,您使用的是绝对路径 C:/Users/... 这会暂时更改 R 的工作目录。

    【讨论】:

    • 感谢您的回答。在您发送给我的链接中,我了解到问题在于 pandoc 找到要进入报告的图片。至于我,pandoc 没有任何东西可以检索,因为我要求它编织的报告是空的。我看到我可以要求 knit 功能使用不同的“编织目录”。但我也没有这些工作。还是您的意思是我应该为 r studio 提供到达 pandoc 的相对路径。我该怎么做?
    • 进一步评论:我理解为 rmarkdown::render() 找不到 pandoc.exe 但是:> pandoc_available() [1] TRUE 所以 rstudio 可以访问 pandoc。
    • 您能创建一个简化版本的 .Rmd 文件吗?我认为 pandoc 只是在错误的地方寻找呈现文档。你说这都是本地的。是否引用了 .Rmd 文件中的任何其他文件?
    • .Rmd 文件没有信息,只有一点文本。但是,它放置在我的工作目录中,而不是在 C:/ 路径中,而 pandoc 是通过 c:/programs 上的 rstudio 安装的。所以我相信正如你之前所说,我需要使用相对路径。但是,我不知道在哪里实施。现在 knit 的命令是: rmarkdown::render('//storage-*****.se/home$/*****/My Documents/test2/test2.Rmd', encoding = 'UTF- 8', knit_root_dir = '~/');这里有什么我应该改变的吗?
    • 如果您进入 Rstudio 并输入 setwd(//storage-*****.se/home$/*****/My Documents/test2/) 将工作目录设置为文件所在的位置会怎样。然后rmarkdown::render(test2.Rmd) 忽略了其他参数(encoding = 'UTF-8', knit_root_dir = '~/'))只是为了看看我们得到了什么
    猜你喜欢
    • 2014-01-12
    • 2018-11-07
    • 1970-01-01
    • 1970-01-01
    • 2011-02-13
    • 1970-01-01
    • 2018-06-06
    • 2019-04-29
    • 1970-01-01
    相关资源
    最近更新 更多