web-dev-qa-db-fra.com

Bower installer en utilisant uniquement https?

J'essaie de configurer Bower sur un serveur de génération situé dans le centre de données de notre organisation, mais le port de git ne semble pas être ouvert sur le pare-feu du centre de données. Je peux utiliser le client en ligne de commande git pour cloner via https://[repo], mais pas git://[repo].

Existe-t-il un commutateur ou une préférence permettant à bower d’effectuer le clonage git en utilisant https plutôt que le protocole git?

J'ai regardé la source et envisagé de modifier le code de résolution pour remplacer git:// par https://, mais je me suis dit que je demanderais avant de passer à ces longueurs.

257
arootbeer

Vous pouvez faire en sorte que git remplace le protocole pour vous. Il suffit de courir:

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

utiliser le protocole HTTPS au lieu de Git.

628
Sindre Sorhus

En me basant sur la réponse de @Sindre, j’ai écrit une petite fonction d’aide dans BASH qui réside dans mon fichier ~/.bashrc. Appelez-le comme vous le feriez grunt, sauf que maintenant il s'appelle nngrunt. Prendre plaisir!

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
}
2
quickshiftin

Travaillé pour moi git config --global url."git://".insteadOf https://

1