Installation de Bower en utilisant uniquement https?

257

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

Y a-t-il un commutateur ou une préférence qui demandera à Bower d'exécuter git clone en utilisant httpsplutôt que le gitprotocole?

Je l' ai regardé à la source, et considéré changer le code de résolution pour remplacer git://avec https://, mais je pensais que je demande avant d' aller à ces longueurs.

arootbeer
la source
2
doublon possible de git: convertir les URL "git" en URL "http"
Rémi Becheras

Réponses:

629

Vous pouvez faire git remplacer le protocole pour vous. Exécutez simplement:

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

d'utiliser le protocole HTTPS au lieu de Git.

Sindre Sorhus
la source
13
Je me sens vraiment stupide. J'ai continué à essayer la partie de la commande avant de penser à .insteadOf que @Sindre nous disait d'utiliser git à la place de git. Bon sang ces commandes de type anglais.
Cri
99
Au cas où quelqu'un d'autre appliquerait cette réponse et se demanderait plus tard comment git config --global --unset url."https://".insteadOf
annuler ce
21
Vous pouvez également omettre --globalet cela ajoutera la configuration au local .git/config.
Helder S Ribeiro
24
Sur la machine Windows, le fichier de configuration globale est .gitconfig sous le dossier de base de l'utilisateur, par exemple C: \ Users [nom d'utilisateur]. Cependant, si% HOME% n'est pas défini, git utilisera% HOMEDRIVE% tandis que git from bower utilisera% USERPROFILE% à la place. Alors que ces deux variables peuvent être différentes. Sur ma machine, l'un est U :, l'autre est C: \ Users \ myusername. Donc, le tonnelier utilisait toujours git: // tout ce que j'avais essayé. Il m'a fallu un certain temps pour comprendre cela. Alors écrivez-le au cas où quelqu'un tomberait dans la même situation.
AnthonyY
2
@VincentGauthier Dans Windows, lancez Propriétés système -> Avancé -> Variables d'environnement -> Variables système -> Nouveau -> Ajoutez une variable nommée HOME et définissez sa valeur sur le chemin souhaité
Nick
2

En s'appuyant sur la réponse de @Sindre, j'ai écrit une petite fonction d'aide en BASH qui réside dans mon ~/.bashrcfichier. 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
}
quickshiftin
la source
1

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

Mansoorulhaq Mansoor
la source