2011-12-01 14 views
5

Sto sviluppando un pacchetto R che dipende da un altro pacchetto R installato sul sistema degli utenti.installa un pacchetto R necessario per il pacchetto al momento dell'installazione

Ho una Dipende: pkgname nel file di descrizione e di importazione (pkgname) nel namespace. Quello che speravo sarebbe stato controllare se pkgname fosse già installato e se non fosse install.packages (pkgname, repos = "CRAN o Rforge o dovunque il pacchetto sia") in caso contrario.

Tuttavia al momento tentativo di installazione del mio pacchetto ottengo l'errore:

ERROR: dependency 'pkgname' is not available for package 'mypkg' 

Qualcuno sa come implementare un'installazione di pkgname, non dovrebbe pkgname già sul sistema?

Molte grazie

+0

Se si importa da un pacchetto, è necessario inserire "Imports: pkgname" in DESCRIPTION non dipende. Funzionerà quindi se il pacchetto è installato da CRAN. –

risposta

4

Nel file di aiuto di R CMD INSTALL non si fa menzione di una bandiera per installare pacchetti aggiuntivi, se necessario, per le dipendenze. Se si invia il pacchetto a CRAN, i problemi vengono risolti poiché install.packages risolve quindi eventuali dipendenze. install.packages non supporta la risoluzione delle dipendenze durante l'installazione da un file locale.

Fino a quando non si invia a R-forge o CRAN, penso che sarà sufficiente aggiungere una nota al file README che alcuni pacchetti aggiuntivi devono essere presenti. Potresti anche pubblicare un frammento di codice R contenente il comando install.packages necessario.

+0

Grazie! Sarò sicuro di aggiungere la documentazione di chiarimento su ciò che le persone devono fare affinché il pacchetto funzioni. Ciò che aiuta davvero è sapere che una volta che il pacchetto è su CRAN/R-forge le importazioni funzioneranno :). – Sebastian

+0

Sì, anche se si nota che c'è un piccolo problema (penso: forse qualcuno può commentare una soluzione alternativa) sull'installazione di un pacchetto da R-forge le cui dipendenze vivono su CRAN, o viceversa ... –

+0

Alcuni dei miei dipende potrebbe anche vivere su bioconduttore ^^ – Sebastian

Problemi correlati