2014-07-21 8 views
8

verwendet, ist eine logische Folge meiner Versuche etwas Erfahrung zu bekommen mit reproduzierbaren Berichten von R Markdown Dokumenten über knitr und R Erstellen von Paketen. Während es scheint, dass .Rmd => HTML Konvertierung von innerhalb RStudio (Knit HTML Schaltfläche) automatisiert ist, mein Versuch, das gleiche außerhalb von RStudio (Rscript -e 'library(rmarkdown); render("knitr-example-slides-1.Rmd")') zu tun, aufgrund von fehlgeschlagen, laut der Nachricht, pandoc auf meinem System. Dies ist höchstwahrscheinlich falsch, da RStudio es irgendwie geschafft hat, die Konvertierung durchzuführen. Daher ist es höchstwahrscheinlich ein Zugriff und/oder Pfad Problem.Ärger mit Pandoc Installation auf Ubuntu 14.04LTS für diese Frage mit R Markdown

Ohne Wissen, wo RStudio hält pandoc und Details über den Zugang, ich habe entschiedenpandoc selbst installieren. Leider war sudo apt-get install pandoc nicht sehr hilfreich, da die aktuelle Version pandoc in Ubuntus trusty Repository (14.04LTS) 1.12.2.1 ist. Gemäß der Nachricht ist Version 1.12.3 oder höher erforderlich. "Keine große Sache", dachte ich und befolgte Anweisungen zur Installation von pandoc im Falle einer zu alten Version im Repository (http://johnmacfarlane.net/pandoc/installing.html). Das erfordert die Installation der Haskell-Plattform, die ziemlich groß ist und deren Ausgabe ziemlich ausführlich ist. Nach einiger Zeit wurde ich schließlich mit den folgenden Fehlermeldung begrüßt:

[ 6 of 57] Compiling Text.Pandoc.Readers.TeXMath (src/Text/Pandoc/Readers/TeXMath.hs, dist/build/Text/Pandoc/Readers/TeXMath.o) 

src/Text/Pandoc/Readers/TeXMath.hs:30:38: 
    Ambiguous occurrence `readTeXMath' 
    It could refer to either `Text.Pandoc.Readers.TeXMath.readTeXMath', 
          defined at src/Text/Pandoc/Readers/TeXMath.hs:56:1 
          or `Text.TeXMath.readTeXMath', 
          imported from `Text.TeXMath' at src/Text/Pandoc/Readers/TeXMath.hs:33:1-19 
          (and originally defined in `Text.TeXMath.Parser') 
Failed to install pandoc-1.12.4.2 
cabal: Error: some packages failed to install: 
pandoc-1.12.4.2 failed during the building phase. The exception was: 
ExitFailure 1 
pandoc-citeproc-0.3.1 depends on pandoc-1.12.4.2 which failed to install. 

Erstens bin ich nicht sicher, wie man eszu beheben. Zweitens vermute ich sehr, dass es einen einfacheren Weg geben sollte zu erzeugen reproduzierbare Berichte mit und pandoc als dies zu genießen. Ihr Rat wird geschätzt!

UPDATE (siehe Kommentare):

Rscript -e 'library(rmarkdown); render("knitr-example-slides-1.Rmd")' 


processing file: knitr-example-slides-1.Rmd 
    |.......               | 11% 
    ordinary text without R code 

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

Quitting from lines 6-8 (knitr-example-slides-1.Rmd) 
Error in eval(expr, envir, enclos) : object 'opts_chunk' not found 
Calls: render ... handle -> withCallingHandlers -> withVisible -> eval -> eval 

Execution halted 
+4

Eine binär kompilierte Version von Pandoc ist bereits mit RStudio ausgeliefert, so dass Sie einfach einen Symlink erstellen können, so dass Sie dies leicht außerhalb des RStudio-Ökosystems verwenden können: https://github.com/rstudio/rarkdown/ blob/master/PANDOC.md # neuere-systeme-debianubuntufedora – daroczig

+0

@daroczig: Super, danke für klare und schnelle Antwort! Ich wusste, dass es einen einfacheren Weg geben sollte ... :-). Ich werde versuchen, hier zu berichten. –

+0

In Ordnung, ich habe die Anweisungen für RStudio Server befolgt. Aber ein Versuch, eine Beispieldatei '.Rmd' zu verarbeiten (https: // github.com/yihui/knitr-examples/blob/master/009-slides.Rmd) ist fehlgeschlagen, wie in UPDATE oben gezeigt. Irgendwelche Ideen? (Ich verstehe, dass es ein anderes Problem als das Original ist, aber es ist wahrscheinlich nicht wert, eine separate Frage zu erstellen.) –

Antwort

6

Grundsätzlich beantwortete @daroczig diese Frage in seinem Kommentar über, also werde ich es hier wiederholen, und eine Antwort auf die entsprechende Frage kleineren hinzufügen auf Das Problem trat nach dem Problem der Hauptfrage auf.

1) „Eine binäre kompilierte Version von Pandoc ist bereits mit RStudio ausgeliefert, so können Sie einfach einen Symlink erstellen, so dass Sie leicht, dass außerhalb des RStudio Öko-Systems verwenden: https://github.com/rstudio/rmarkdown/blob/master/PANDOC.md#newer-systems-debianubuntufedora“;

2) Ich habe den Fehler behoben, erlebten nach dem Rat oben (siehe meinen Kommentar Anwendung), von opts_chunk() mit expliziter Paket Referenz Aufruf: knitr::opts_chunk(), folgenden Richtlinien hier: http://rmarkdown.rstudio.com/authoring_migrating_from_v1.html (Danke für @Yihui zeigt mich dieses Dokument in einer anderen Frage: Transitioning research project to knitr-based setup).

+1

Sie können gerne Ihre eigene Antwort akzeptieren. –

+1

@Yihui: Danke! Ich warte nur - SO hat 2 Tage Wartezeit, bis man seine/ihre eigene Antwort akzeptieren kann :-). Ich würde mich freuen, wenn Sie Ihre Meinung äußern könnten oder mich auf relevante Ressourcen zu Ansätzen für die Verwendung von 'knitr' und' R Markdown' für komplexe Multi-Datei-/Multi-Directory-Projekte verweisen könnten (Hauptthema meiner Frage: http: // stackoverflow.com/questions/24848303/transitioning-research-project-to-knitr-based-setup). –