Sto scrivendo uno script che utilizza roxygen2 per il roxygenize automatico del pacchetto. Mi piacerebbe che fosse eseguibile in modo che possa essere parte di uno script più grande per preparare e installare il pacchetto, ma non posso farlo funzionare con Rscript per qualche motivo.Impossibile chiamare la funzione roxygenize dal file batch Rscript
Ecco il codice:
#!/usr/bin/env Rscript
library(roxygen2)
roxygenize('.', copy=FALSE)
Ciò funziona correttamente se inizio una sessione interattiva R o se sottopongo il codice utilizzando R CMD LOTTO. Tuttavia, ottengo questo risultato ed errore se eseguo direttamente lo script come eseguibile tramite Rscript (e ottengo l'errore indipendentemente dal fatto che lo script si trovi nella directory o nel cestino corrente).
bin/roxygenize.R
Loading required package: digest
Warning message:
package 'roxygen2' was built under R version 2.13.2
Error in parse.files(r_files) : could not find function "setPackageName"
Calls: roxygenize -> parse.files
Execution halted
Sembra setPackageName è a base di R, quindi non riesco a capire il motivo per cui non ci sia. Inoltre, utilizzo Rscript in molte altre situazioni e questo sembra essere l'unico posto in cui non riesce.
Qualsiasi aiuto è molto apprezzato.
Questo era un bug nel roxygen. Fino a quando non verrà fuori la prossima versione, aggiratela caricando esplicitamente metodi e utilità. – hadley
Grazie, Hadley. Non sapendo perché mi stava facendo impazzire. –