2015-06-22 17 views
11

Sto preparando un pacchetto da inviare a CRAN. Io uso R CMD build myPackage quindi R CMD check myPackage --as-cran e passa tutti i controlli senza note o avvisi. Tuttavia, ogni volta che provo a presentare, ricevo il seguente messaggio di errore da uno dei manutentori CRAN:Come si "prebuild" un indice vignette per un pacchetto R?

pacchetto ha un campo VignetteBuilder ma nessun indice vignetta precompilati.

Per iniziare, mi piacerebbe essere in grado di riprodurre il messaggio di errore sopra riportato sul mio sistema (R version 3.0.1).

Il file vignetta .Rnw assomiglia a questo:

%\VignetteEngine{knitr::knitr} 
%\VignetteIndexEntry{myVignetteName} 
\documentclass{article} 
\begin{document} 
Here is some code: 
<<>>= 
plot(1:10, 10:100) 
@ 
\end{document} 

Ho provato ad aggiungere un file INDEX nella directory principale con una voce di vignetta come questo:

myFunction  a brief description 
abc-vignette  vignette description 

Ancora una volta, questo passa R CMD check myPackage --as-cran ma Ottengo lo stesso messaggio di errore.

Ho anche provato R CMD build myPackage --md5 per forzare la creazione di un file MD5, senza alcun risultato.

Quando guardo allo myPackage.Rcheck/00_pkg_src/myPackage/inst/doc trovo i file delle vignette, .Rnw e .pdf come previsto.

Il pacchetto DESCRIPTION file ha la seguente voce:

VignetteBuilder: knitr 
Suggests: knitr 

Quando guardo myPackage.Rcheck/myPackage/Meta vedo una voce vignette.rds. Tuttavia questo sembra essere un file binario, quindi non posso dare un senso.

Questo è da 'scrivere estensioni R':

Al momento dell'installazione di un indice HTML per tutte le vignette nel pacchetto viene creato automaticamente dalle dichiarazioni \ VignetteIndexEntry a meno che un file 'index.html' esiste in directory 'inst/doc'. Questo indice è collegato dall'indice della guida HTML per il pacchetto. Se fornisci un file 'inst/doc/index.html' dovrebbe contenere collegamenti relativi solo ai file sotto la directory 'doc' installata, o forse (non proprio un indice) ai file di aiuto HTML o al file 'DESCRIPTION' .

Così ho bisogno di creare manualmente index.html e qualcuno potrebbe indicare un esempio di come dovrebbe essere?

This question sembra strettamente correlato, ma non ho (consapevolmente) un file .Rbuildignore. This is also related, anche se non sto utilizzando devtools per la creazione del pacchetto. Ho anche guardato allo this question ma non vedo una risposta facile.

Aggiornamento lug 1

Per un esempio riproducibile, il pacchetto è disponibile here on github. Download e installazione (ad es.con devtools::install_github() dovrebbe consentire la riproduzione di questo errore.

risposta

1

raccolgo i comandi Vignette devono essere in preambolo, vale a dire al di sotto documentclass, in modo che il file myVignette.Rnw dovrebbe leggere:

\documentclass{article} 

% \VignetteIndexEntry{myVignette} 
% \VignetteEngine{knitr::knitr} 

\usepackage[]{graphicx} 
... 

Questo sembra funzionare bene.

Il messaggio di errore è dalla versione di R CMD check che è attualmente 3.3.0. Ho usato la versione "stabile" più vecchia che è non il modo consigliato di controllare i pacchetti quando si considera l'invio a CRAN.

Non sono ancora sicuro dei vantaggi dell'utilizzo di un file index.html manuale: non sembra necessario ma cambierò volentieri la risposta accettata se qualcuno può far luce su questo.

0

This può aiutare, oppure è possibile rivolgersi a devtools per creare il pacchetto.