2012-03-11 34 views
55

¿Cómo puedo instalar un paquete que está en desarrollo directamente desde un repositorio github y una vez instalado cómo puedo cambiar entre las versiones CRAN y de desarrollo?Cómo instalar la versión de desarrollo de los paquetes R repositorio github

El paquete específico que estoy interesado en instalar desde git es ggplot2.

+2

Posible rosca relacionada: [Cómo administrar múltiples ubicaciones de paquetes (carpetas) en R?] (Http://stackoverflow.com/q/7993061/420055) – chl

+0

Relacionado: [Instalación de paquetes no públicos desde Gitlab usando devtools: : install_git] (https://stackoverflow.com/q/27319207/562769) –

Respuesta

72

a través de Hadley en https://github.com/hadley/ggplot2

install.packages("devtools") 

library(devtools) 

dev_mode(on=T) 

install_github("hadley/ggplot2") 

# use dev ggplot2 now 

# when finished do: 

dev_mode(on=F) #and you are back to having stable ggplot2 
+2

El punto de la pregunta no solo acerca de cómo instalar desde Github (que es bastante claro) sino también sobre cómo cambiar entre las versiones dev y release. Presumiblemente sin reinstalar ... –

+6

+1, y hay 'dev_mode()' para esa segunda parte. – baptiste

+0

Me acabo de dar cuenta de que quiere instalar y desinstalar. Gracias por señalar eso. No estoy seguro de la mejor manera de hacerlo, pero edité arriba para mostrar lo que hago. – Seth

4

para binarios de compilación instalar:

install.packages('xxx', repo='http://repo_adress') 

de origen de instalación:

install.packages('xxx', repo='http://repo_adress', type='source') 
+11

nota como útil para github ... –

17

tengo la sensación de que tanto pre Las respuestas erróneas pierden el sentido de tu pregunta.

Considera:

  • Puede controlar dónde instalar paquetes a través de argumentos tanto a R CMD INSTALL (a través de -l) y install.packages().

  • En tiempo de ejecución, puede controlar dónde cargar paquetes desde a través de .libPaths().

lo que realmente es sólo una cuestión de ajuste de algunas variables en su .Rprofile (o similar) para controlar esto.

Cuestiones relacionadas