Pandoc Version 1.12.3 oder höher ist erforderlich und wurde nicht gefunden (R glänzend)
Ich habe ein problem generieren eines pdf-Berichts von meiner app, die glänzende, die auf einem server gehostet wird.
die app funktioniert gut, aber wenn ich drücken Sie die Taste, um den Bericht zu downloaden, bekomme ich diesen Fehler :
pandoc version 1.12.3 or higher is required and was not found.
Das proble ist, dass wenn ich geben Sie pandoc -v
ich bekommen:
pandoc 1.12.3.3
Compiled with texmath 0.6.6, highlighting-kate 0.5.6.1.
Syntax highlighting is supported for the following languages:
actionscript, ada, apache, asn1, asp, awk, bash, bibtex, boo, c, changelog,
clojure, cmake, coffee, coldfusion, commonlisp, cpp, cs, css, curry, d,
diff, djangotemplate, doxygen, doxygenlua, dtd, eiffel, email, erlang,
fortran, fsharp, gnuassembler, go, haskell, haxe, html, ini, java, javadoc,
javascript, json, jsp, julia, latex, lex, literatecurry, literatehaskell,
lua, makefile, mandoc, markdown, matlab, maxima, metafont, mips, modelines,
modula2, modula3, monobasic, nasm, noweb, objectivec, objectivecpp, ocaml,
octave, pascal, perl, php, pike, postscript, prolog, python, r,
relaxngcompact, restructuredtext, rhtml, roff, ruby, rust, scala, scheme,
sci, sed, sgml, sql, sqlmysql, sqlpostgresql, tcl, texinfo, verilog, vhdl,
xml, xorg, xslt, xul, yacc, yaml
Default user data directory: /home/daniele/.pandoc
Copyright (C) 2006-2013 John MacFarlane
Web: http://johnmacfarlane.net/pandoc
This is free software; see the source for copying conditions. There is no
warranty, not even for merchantability or fitness for a particular purpose.
So, ich denke, ich habe die richtige version. TexLive ist auch installiert und der Pfad ist in $PATH
.
Server.R
library(shiny)
library(drsmooth)
library(shinyBS)
library(knitr)
library(xtable)
library(rmarkdown)
shinyServer(function(input, output,session) {
output$downloadReport <- downloadHandler(
filename = function() {
paste('report', sep = '.','pdf')
},
content = function(file) {
src <- normalizePath('report.Rmd')
# temporarily switch to the temp dir, in case you do not have write
# permission to the current working directory
owd <- setwd(tempdir())
on.exit(setwd(owd))
file.copy(src, 'report.Rmd')
library(rmarkdown)
out <- render('report.Rmd')
file.rename(out, file)
})
output$tb <- renderUI({
p(h4("Report")),
"Dowload a the report of your analysis in a pdf format",
tags$br(),downloadButton('downloadReport',label="Download report"),
tags$em("This option will be available soon")
})
})
* Bericht.Rmd* nicht enthalten jede Art von Berechnung, es ist nur text.
Die pdf-Erzeugung funktioniert einwandfrei in meiner lokalen version (MacOS), aber nicht auf dem server.
Vielen Dank im Voraus, und ich bin hier, um andere Informationen, wenn nötig.
Daniele
InformationsquelleAutor der Frage Daniele Avancini | 2015-02-10
Du musst angemeldet sein, um einen Kommentar abzugeben.
Gehen in RStudio und finden Sie die system-Umgebungsvariable für
RSTUDIO_PANDOC
Dann setzen Sie diese in Ihrem R-Skript vor dem Aufruf der render-Befehl.
Dieser arbeitete für mich, nachdem ich gekämpft, um herauszufinden, wie rmarkdown findet pandoc. Ich hatte zu prüfen, github, um einen Blick auf die Quelle.
InformationsquelleAutor der Antwort Chris
Einer anderen option, so dass dieses Werk für alle R-Skripts ist die Definition diese variable Global.
Unter Debian/Ubuntu, fügen Sie die folgende Zeile zu Ihrer .bashrc-Datei:
Auf macOS, fügen Sie Folgendes in Ihre .bash_profile-Datei:
Unter Windows (mit Git Bash), fügen Sie Folgendes in Ihre .bashrc-Datei:
InformationsquelleAutor der Antwort John Blischak
Ist die einfachste Art, wie ich dieses Problem gelöst ist, an die Sys.setenv (..) - Befehl innerhalb der crontab-Befehl vor dem Aufruf der RMarkdown::render. Sie müssen trennen Sie die beiden Befehle mit einem Semikolon:
(Denken Sie daran, dass die rstudio-server-Pfad unterscheidet sich von der nicht-server version)
InformationsquelleAutor der Antwort Thomas Goerner
Wenn Sie versuchen, führen Sie ein Skript von der Kommandozeile auf Windows Sie müssen nur den Pfad des Verzeichnisses in die PATH-variable*. Sie können auch erstellen Sie eine separate Benutzer-variable namens RSTUDIO_PANDOC und geben Sie diese variable das Verzeichnis*. Dann schließen und öffnen Sie die Klemmen, um aktualisieren Sie die system-Pfade.**
*Experiment mit einem nachgestellten /wenn Sie Probleme haben.
**Ich war nicht in der Lage zu zeigen, um eine UNC-Pfad. Die //am Anfang des Pfades abgespritzt die rmarkdown Paket pandoc Funktionen. Wenn Sie einen UNC-Pfad handelt, müssen Sie der Karte auf ein Laufwerk und auf die Festplatte schreiben. Es gibt Möglichkeiten, dies zu tun dynamisch. Ich benutze eine DOS/batch-script, welches ich über Google gefunden.
InformationsquelleAutor der Antwort DonkeyKong
Hey ich habe gerade schlagen dieser Fehler. Ich löste dies durch das löschen der 2 pandoc-Dateien, "pandoc" und "pandoc-citeproc" von den shiny-server-Ordner. Dann habe ich einen link für jede dieser Dateien aus dem rstudio-server-Ordner. Es funktionierte wie ein Charme. Dies war ein Problem für mich, wenn ich versuchte, einbetten Flugblatt in die rmarkdown Dokumente aus der Ausführung glänzend-server auf einer linux-Maschine. Ich fand es seltsam, dass, wenn ich lief es in rstudio auf der gleichen linux-Maschine funktionierte es gut, aber nicht, wenn ich es lief mit glänzenden-server. Also die shiny-server-Installation von pandoc ist zu alt/veraltet.
Cheers
InformationsquelleAutor der Antwort DTakacs
Für diejenigen, die nicht mit RStudio, können Sie nur brauchen, um pandoc installieren auf Ihrem system. Für mich war es
und es funktionierte (Arch Linux).
InformationsquelleAutor der Antwort haff