2014-10-14 27 views
7

Sto utilizzando knitr per creare una vignetta del pacchetto R. Questo processo ha funzionato prima di R 3.0, ma non sono stato in grado di ricostruire il pacchetto in R 3.1.1.Errore "knitr" non trovato durante la creazione del pacchetto/vignetta

Quando provo R CMD build ricevo un messaggio di errore:

R CMD build Causata 
* checking for file ‘Causata/DESCRIPTION’ ... OK 
* preparing ‘Causata’: 
* checking DESCRIPTION meta-information ... OK 
* installing the package to build vignettes 
* creating vignettes ... 

ERROR Error in loadVignetteBuilder(vigns$pkgdir) : 
    vignette builder 'knitr' not found Calls: <Anonymous> -> loadVignetteBuilder 
In addition: 
    Warning message: In tools::buildVignettes(dir = ".", tangle = TRUE) : 
    Files named as vignettes but with no recognized vignette engine: 
    ‘vignettes/Causata-vignette.rnw’ (Is a VignetteBuilder field missing?) 
Execution halted 

Il mio file vignetta ha un VignetteEngine chiamata - qui sono le prime tre righe:

% !Rnw weave = knitr 
%\VignetteEngine{knitr::knitr} 
%\VignetteIndexEntry{Model training and export} 

Il mio pacchetto descrizione del file include un VignetteBuilder campo:

VignetteBuilder: knitr 

Penso di essere fo permettendo le istruzioni per Rnw vignettes, quindi sono sconcertato dal messaggio di errore che sto vedendo.

Per inciso, se provo a creare direttamente la vignetta, tutto sembra funzionare perfettamente. Questo comando genera la vignetta PDF:

tools::buildVignettes(dir=".", tangle=TRUE) 

Il mio problema sembra essere solo con R CMD build. Perché la build non funzionerà?

Ecco la mia completa file del pacchetto di riferimento DESCRIZIONE:

Package: Causata 
Type: Package 
Title: Analysis utilities for binary classification and Causata users. 
Version: 5.0-1 
Date: 2014-10-09 
Author: Justin Hemann, David Barker, Suzanne Weller, Jason McFall 
Maintainer: Justin Hemann <[email protected]> 
Description: The Causata package provides utilities for 
    extracting data from the Causata application, training regression/classification 
    models, and exporting models as PMML for scoring. 
Depends: R (>= 2.15.1) 
Imports: XML, R.utils, rjson, RCurl, stringr, yaml, boot, foreach, data.table, glmnet, ggplot2, methods 
Suggests: knitr, doMC, testthat, pROC, RODBC, RMySQL 
VignetteBuilder: knitr 
License: GPL 
LazyLoad: yes 
URL: www.nice.com 
+0

Non riesco a riprodurlo con la versione corrente CRAN v4.2-0. Non hai fornito la fonte per la v5.0-1, quindi non c'è modo per noi di verificare se si tratta di un problema della tua v5.0-1 o qualcos'altro. –

+1

@Yihui - Ho lo stesso problema su 'Windows 7 Professional', con' R-3.1.2', 'knitr 1.7'. Ogni volta che provo a creare un pacchetto che usa knitr come VignetteBuilder alternativo, ottengo lo stesso messaggio di errore riguardo a: 'Errore in loadVignetteBuilder (vigns $ pkgdir): costruttore di vignette 'knitr' non trovato [...]'. Ad esempio, ho appena provato con il codice sorgente per il pacchetto ** knitrBootstrap **. 'devtools :: build()' e 'devtools :: install()' funzionano entrambi, così come 'tools :: buildVignettes (dir =". ", tangle = TRUE)', ma l'esecuzione di 'R CMD build knitrBootstrap' fallisce. Qualche idea su cosa sto facendo male, dove riportare? –

+0

@ JoshO'Brien Per favore dammi le istruzioni complete per riprodurre il problema. Non so quale versione del pacchetto sorgente knitrBootstrap testare (CRAN? Github?). Dove hai installato knitr? Qual è l'output di 'R -e" .libPaths(); find.package ('knitr') "'? –

risposta

5

Secondo le valutazioni di Josh O'Brien, credo che si potrebbe avere lo stesso problema come lui. Se si desidera aggiungere alcuni percorsi di libreria personalizzati, si consiglia di farlo in ~/.Renviron utilizzando la variabile di ambiente R_LIBS_USER, anziché definire i percorsi di libreria in ~/.Rprofile o Rprofile.site. Quest'ultimo sembra essere ignorato da R CMD build e R CMD check.

Problemi correlati