r gitlab devtools

r - Instalando paquetes no públicos desde Gitlab usando devtools:: install_git



(3)

El comentario de Per Ciro, autentificando usando

https://user:[email protected]/user/repo.git

Hace el truco. Así que la llamada completa sería

devtools::install_git(''https://user:[email protected]/nutterb/modeltable.git'')

Tenga en cuenta que puede haber problemas de seguridad al pasar el nombre de usuario y la contraseña de esta manera. No estoy completamente educado sobre esas preocupaciones. Esto funciona lo suficientemente bien para mis propósitos porque estoy autenticado en la red de mi empresa para ver incluso el servidor GitLab.

Mi institución recientemente instaló GitLab para nosotros. Descubrí cómo instalar paquetes R desde el servidor GitLab usando devtools::install_git y funciona siempre que el proyecto sea público.

#* When modeltable project has Public status devtools::install_git(''https://mini-me2.lerner.ccf.org/nutterb/modeltable.git'')

Sin embargo, si tengo un paquete que aparece como "Interno" o "Privado", no puedo instalar el paquete sin algún tipo de autenticación. Hasta el momento, no he descubierto cómo pasar la autenticación a través de la URL. ¿Alguien tiene experiencia con la descarga de paquetes desde GitLab?

#* After changing the ''modeltable'' project to Private status devtools::install_git(''https://mini-me2.lerner.ccf.org/nutterb/modeltable.git'') Preparing installation of modeltable using the Git-URL: https://mini-me2.lerner.ccf.org/nutterb/modeltable.git ''/usr/bin/git''clone --depth 1 --no-hardlinks https://mini-me2.lerner.ccf.org/nutterb/modeltable.git /tmp/Rtmp5aj1cU/file24493dc03a32 Error: There seems to be a problem retrieving this Git-URL.


Puedes probar una combinación de los paquetes devtools y getPass .

https://github.com/wrathematics/getPass

devtools::install_git( "https://gitlab.com/foo/bar.git", credentials = git2r::cred_user_pass("uname", getPass::getPass()) )

Donde uname es tu nombre de usuario de Gitlab .


Recomiendo encarecidamente ir a la ruta SSH, y lo siguiente funciona para eso. Descubrí que dar el salto a SSH fue fácil, especialmente con R y RStudio. Estoy usando Windows en el siguiente ejemplo. Las ediciones del código que uso en la práctica están en mayúsculas.

creds = git2r::cred_ssh_key("C://Users//MYSELF//.ssh//id_rsa.pub", "C://Users//MYSELF//.ssh//id_rsa") devtools::install_git("[email protected]:GITLABGROUP/PACKAGE.git", credentials = creds)

Dos comentarios adicionales rápidos:

  • git2r se importa con devtools, no es necesario instalarlo por separado.
  • Además, no creo que esto deba mencionarse, pero las contraseñas en texto simple en su script son una muy mala idea.