2011-04-27 26 views
16

Confirmando: si distribuyo mi paquete R como ZIP/TAR, la instalación del paquete no descargará/instalará dependencias automáticamente porque tengo que configurar repos = NULL en install.packages() y el parámetro de dependencias no se usa si repos = NULL? La forma de hacer que esto funcione es empaquetar un script de instalación. ¿Es eso posible? ¿Me falta algo por completo aquí y hay un mecanismo para instalar desde la fuente Y descargar e instalar dependencias automágicamente?Dependencias del paquete al instalar desde el origen en R

Respuesta

7

Puede hacer su propio repositorio y establecer repos para ser un vector de los lugares para buscar paquetes, donde comenzaría con su propio repositorio y luego incluir un enlace a un espejo CRAN. Esto es lo que hago y funciona bastante bien, ya que entonces puedo compartir fácilmente mis paquetes con otros y actualizarlos desde cualquier computadora en la que esté.

+0

listo! ¿Puede mi propio repositorio estar protegido con contraseña o de otra manera garantizar el acceso privado solamente (a los clientes fuera de mi firewall) – SFun28

+0

Realmente no lo sé, lo siento. El mío es público. Sé que R obtiene los paquetes a través de http, por lo que si puede limitar el acceso web a los clientes aprobados, eso también debería limitar el acceso a su repositorio. – Aaron

+0

gracias por la sugerencia! Voy a evitar el enfoque de repositorio debido a los problemas de seguridad. Mis paquetes están vinculados a mi compañía. Sería demasiado trabajo mantener una lista blanca de IP. Dejaré esta pregunta abierta durante unos días para ver si hay otras soluciones. – SFun28

5

El paquete devtools tiene una función install. Si se utiliza en un directorio que contiene el código fuente de un paquete R, instalará ese paquete y descargará todas las dependencias de CRAN.

+1

Dado que el código para hacer esto ya se ha escrito, sería bueno si R, y su herramienta de facto ('R CMD'/Rstudio), hiciera algunas de estas cosas de forma predeterminada. – blong

0

Puede utilizar

devtools::install_local(path) 

Se puede descargar automáticamente todas las dependencias.

0

Si usted tiene una cuenta GithubMiNombre, empuje el paquete de R para un acuerdo de recompra mypackage. Entonces simplemente llame al devtools::install_github("myname/mypackage"). El paquete mypackage se descargará e instalará al igual que todas las dependencias enumeradas en Importaciones en el archivo DESCRIPCIÓN.

Cuestiones relacionadas