2011-12-01 15 views
5

Estoy desarrollando un paquete R que depende de otro paquete R que esté instalando en el sistema de los usuarios.instale un paquete R necesario para su paquete en la instalación

¡Tengo una Depende: pkgname en el archivo de descripción y de importación (pkgname) en el espacio de nombres. Lo que esperaba que esto hiciera es verificar si pkgname ya está instalado y si no, install.packages (pkgname, repos = "CRAN o Rforge o donde sea que el paquete sea") de lo contrario.

Sin embargo al intentar la instalación de mi paquete me sale el error:

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

¿Alguien sabe cómo implementar una instalación de pkgname, no debe pkgname ya sea en el sistema?

Muchas gracias

+0

Si importa desde un paquete, debe poner 'Imports: pkgname' en DESCRIPTION no depende. Funcionará entonces si el paquete está instalado desde CRAN. –

Respuesta

4

En el archivo de ayuda de R CMD INSTALAR no hay mención de una bandera para instalar paquetes adicionales si es necesario para las dependencias. Si envía su paquete a CRAN, sus problemas se resuelven porque install.packages resuelve las dependencias. install.packages no admite la resolución de dependencias cuando se instala desde un archivo local.

Hasta que se presente a R-forge o CRAN, creo que será suficiente agregar un comentario al archivo README que algunos paquetes adicionales deben estar presentes. Incluso podría publicar un fragmento de código R que contenga el comando install.packages necesario.

+0

Gracias! Me aseguraré de agregar documentación aclaratoria con respecto a lo que las personas deben hacer para que el paquete funcione. Lo que realmente ayuda es saber que una vez que el paquete esté en CRAN/R-forge, las importaciones funcionarán :). – Sebastian

+0

Sí, aunque tenga en cuenta que hay un pequeño problema (creo que quizás alguien pueda comentar sobre una solución alternativa) sobre la instalación de un paquete de R-forge cuyas dependencias viven en CRAN, o viceversa ... –

+0

Algunos de mis Depende incluso de vivir en el bioconductor ^^ – Sebastian

Cuestiones relacionadas