Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Knitr wont compile PDF: "Error in tools::file_path_as_absolute(output_file)"

I have created a report in markdown and use the function render() to compile the code into a PDF. It worked fine a month ago, but when I run the code now, it gives me an error:

Latexmk: This is Latexmk, John Collins, 22 April 2016, version: 4.45. Output created: output/Medborgerskabstabeller99.pdf

Error in tools::file_path_as_absolute(output_file) : file 'output/Medborgerskabstabeller99.pdf' does not exist

The render command I use to create the PDF looks like this:

outfile <- file.path("output",paste0("Medborgerskabstabeller99"))
render(input = "Medborgerskabstabeller.Rmd",
       encoding = "UTF-8",
       output_file = paste0(outfile,".pdf"))

First of all, the "Latexmk"-message before did not appear when the code worked.

Second, I have no clue why it says that "Medborgerskabstabeller99.pdf" doesn't exist, when it says above that it just created the file.

Any suggestions on the problem will be highly appreciated!

like image 714
Emilie Kirk Avatar asked Jan 12 '18 10:01

Emilie Kirk


2 Answers

A better solution appears to be to use tinytex.

install.packages('tinytex')
tinytex::install_tinytex()

If you have to use MikTex and have it installed already, open the MikTex console and change the missing package setting to:

Always install missing packages on the fly

If you have not installed MikTex yet then on installation make sure to choose:

Install missing packages: Yes

When I originally installed I chose Ask me first and it would fail. I have tried both changing the settings of MikTex, as well as uninstalled it and just settled for tinytex which was a bit more lightweight for my needs.

The original thread with solution near the bottom: https://github.com/rstudio/rmarkdown/issues/1285

like image 137
Shawn Avatar answered Nov 07 '22 04:11

Shawn


I had similar problem. After searching in the internet, I found a solution in community r studio

It seems the bug is related with 1.9 version of rmarkdown, so the solution is to return to 1.8 version

install.packages("devtools")
library(devtools)
install_version("rmarkdown",version=1.8)

After reinstalling, when you try to knit again, probably you will be asked to install some package from Miktex. If you have any problem, check for a proper mirror. Hope this helps.

like image 16
Juan Acosta Avatar answered Nov 07 '22 04:11

Juan Acosta