28 votes

Knitr l'habitude de compiler le PDF: "Erreur dans les outils::file_path_as_absolute(fichier_sortie)"

J'ai créé un rapport en markdown et utiliser la fonction render() pour compiler le code dans un fichier PDF. Il a bien fonctionné il y a un mois, mais quand je lance le code, il me donne une erreur:

Latexmk: C'est Latexmk, John Collins, le 22 avril 2016, version: 4.45. Sortie de création: sortie/Medborgerskabstabeller99.pdf

Erreur dans les outils::file_path_as_absolute(fichier_sortie) : fichier de sortie/Medborgerskabstabeller99.pdf " n'existe pas

Le rendu de commande que j'utilise pour créer le PDF ressemble à ceci:

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

Tout d'abord, le "Latexmk"-message avant que n'apparaissent pas lorsque le code a fonctionné.

Deuxièmement, je n'ai aucune idée de pourquoi il est dit que "Medborgerskabstabeller99.pdf" n'existe pas, quand il est dit ci-dessus qu'il vient juste de créer le fichier.

Toutes les suggestions sur le problème sera très appréciée!

26voto

Shawn Points 1310

Une meilleure solution semble être d'utiliser tinytex.

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

Si vous devez utiliser MikTex et déjà installé, ouvrez le MikTex console et modifier le paquet manquant paramètre pour:

Always install missing packages on the fly

Si vous n'avez pas installé MikTex, mais alors sur l'installation, assurez-vous de choisir:

Install missing packages: Yes

Quand je suis installé, j'ai choisi Ask me first et il serait un échec. J'ai essayé les deux modifiant les paramètres de MikTex, ainsi que désinstallé et à peine installés pour tinytex qui était un peu plus léger pour mes besoins.

Le thread d'origine avec une solution à proximité de la partie inférieure: https://github.com/rstudio/rmarkdown/issues/1285

16voto

Juan Acosta Points 161

J'ai eu le même problème. Après recherche sur internet, j'ai trouvé une solution dans la communauté de la r studio

Il semble que le bug est lié avec la version 1.9 de rmarkdown, donc la solution est de retourner à la version 1.8

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

Après la réinstallation, lorsque vous essayez de tricoter de nouveau, probablement vous sera demandé d'installer certains paquets de Miktex. Si vous avez un problème, vérifier pour un bon miroir. Espérons que cette aide.

0voto

jay.sf Points 8160

Dans l'intervalle, le problème semble être résolu dans la version de développement 1.10.11:

devtools::install_github('rstudio/rmarkdown')

0voto

Sff Points 1

Juste un commentaire pour la sortie de question, comme je l'ai coincé avec cette, trop: l' outfile doit être le chemin d'accès absolu. Je pense que dir.exists() recherche dans le répertoire local de travail. À l'aide de ".\\" devant aidé dans mon cas. Dans le vôtre, il serait à l'aide de paste0(".\\",outfile,".pdf").

0voto

Elligno Points 21

Si à l'aide de MikTex, vous avez probablement manque quelques paquets (basic Miktex les paquets sont installés). Juste compiler votre fichier tex pour trouver les paquets manquants (les erreurs de compilation) et de les installer. Puis tricoter votre mdm document et cela devrait fonctionner.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X