Bower instalar usando solo https?


257

Estoy tratando de configurar Bower en un servidor de compilación en el centro de datos de nuestra organización, pero gitel puerto no parece estar abierto en el firewall del centro de datos. Puedo usar el cliente de línea de comandos git para clonar https://[repo], pero no git://[repo].

¿Hay algún interruptor o preferencia que indique a Bower que realice el clon git en httpslugar del gitprotocolo?

He mirado en la fuente, y consideré cambiar el código de resolución para reemplazar git://con https://, pero pensé que había que preguntar antes de ir a esas longitudes.


Respuestas:


629

Puedes hacer que git reemplace el protocolo por ti. Solo corre:

git config --global url."https://".insteadOf git://

usar el protocolo HTTPS en lugar de Git.


13
Me siento realmente tonto. Seguí probando la parte del comando antes de .insteadOf de pensar que @Sindre nos decía que usáramos git en lugar de git. Buena pena estos comandos al estilo inglés.
chillido

99
En caso de que alguien más aplique esta respuesta y luego se pregunte cómo retroceder ese cambio de configuración global (como yo), es:git config --global --unset url."https://".insteadOf
ryan_effectiveui

21
También puede omitir --globaly agregará la configuración al local .git/config.
Helder S Ribeiro

24
En la máquina Windows, el archivo de configuración global es .gitconfig en la carpeta de inicio del usuario, por ejemplo, C: \ Users [nombre de usuario]. Sin embargo, si% HOME% no está definido, git usará% HOMEDRIVE% mientras que git de bower usará% USERPROFILE% en su lugar. Mientras que estas dos variables pueden ser diferentes. En mi máquina, una es U :, la otra es C: \ Users \ myusername. Entonces la glorieta todavía usaba git: // lo que sea que intenté. Me tomó un tiempo resolver esto. Anótelo en caso de que alguien caiga en la misma situación.
AnthonyY

2
@VincentGauthier En Windows, inicie Propiedades del sistema -> Avanzado -> Variables de entorno -> Variables del sistema -> Nuevo -> Agregue una variable llamada INICIO y establezca su valor en la ruta deseada
Nick

2

Sobre la base de la respuesta de @Sindre, escribí una pequeña función auxiliar en BASH que vive en mi ~/.bashrcarchivo. Llámalo como lo harías grunt, excepto que ahora se llama nngrunt. ¡Disfrutar!

function nngrunt
{
    # Add a section to the global gitconfig file ~/.gitconfig that tells git to
    # go over http instead of the git protocol, otherwise bower has fits...
    # See http://stackoverflow.com/questions/15669091/bower-install-using-only-https
    git config --global url."https://".insteadOf git://

    # Run grunt w/ any supplied args
    grunt "$@"

    # Now cleanup the section we added to the git config file
    # Of course we have our own extra cleanup to do via sed since the unset command
    # leaves the section around
    # See http://git.661346.n2.nabble.com/git-config-unset-does-not-remove-section-td7569639.html
    git config --global --unset url."https://".insteadOf
    sed -i 's/\[url "https:\/\/"\]//' ~/.gitconfig
    sed -i '/^$/d' ~/.gitconfig
}

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.