Bower установить, используя только https?


257

Я пытаюсь настроить Bower на сервере сборки в центре обработки данных нашей организации, но gitпорт не открыт в брандмауэре центра обработки данных. Я могу использовать клиент командной строки git для клонирования через https://[repo], но не git://[repo].

Есть ли переключатель или предпочтение, которые будут указывать бауэру использовать git-клон, httpsа не gitпротокол?

Я посмотрел на источник и подумал об изменении кода разрешения для замены git://на https://, но я решил спросить, прежде чем перейти к этим длинам.


Ответы:


629

Вы можете заставить git заменить протокол для вас. Просто беги:

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

использовать протокол HTTPS вместо Git.


13
Я чувствую себя действительно глупым. Я продолжал пробовать часть команды до .insteadOf, думая, что @Sindre говорит нам использовать git вместо git. Боже мой, эти английские команды.
Визг

99
В случае, если кто-то еще применяет этот ответ, а затем задается вопросом, как git config --global --unset url."https://".insteadOf
отменить

21
Вы также можете опустить, --globalи это добавит конфигурацию к локальной .git/config.
Хелдер С Рибейро

24
На компьютере с Windows файл глобальной конфигурации - это .gitconfig в домашней папке пользователя, например, C: \ Users [имя пользователя]. Однако, если% HOME% не определен, git будет использовать% HOMEDRIVE%, а git из bower будет использовать% USERPROFILE%. В то время как эти две переменные могут быть разными. На моем компьютере один U: другой C: \ Users \ myusername. Так что беседка все еще использовала git: // что бы я ни пытался. Мне понадобилось время, чтобы понять это. Поэтому запишите это на случай, если кто-нибудь попадет в ту же ситуацию.
AnthonyY

2
@VincentGauthier В Windows запустите «Свойства системы» -> «Дополнительно» -> «Переменные среды» -> «Системные переменные» -> «Создать» -> Добавить переменную с именем «HOME» и установить ее значение по желаемому пути
Ник

2

Основываясь на ответе @Sindre, я написал небольшую вспомогательную функцию в BASH, которая находится в моем ~/.bashrcфайле. Называй это так же, как и ты grunt, только теперь это называется nngrunt. Наслаждайтесь!

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
}

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.