У меня есть проблема с bower list
команды, которая была вызвана тем, что становой использовать git
с git://
URL, чтобы получить список удаленных репозиториев GitHub, но git://
протокола блокируется нашим корпоративным брандмауэром. Чтобы решить эту проблему в дополнение к настройке переменных среды, я должен добавить дополнительные настройки для git. Вот полный список команд, которые я должен выполнить (не забудьте заменить прокси-сервера и порт с вашими):
# set proxy for command line tools
export HTTP_PROXY=http://localhost:3128
export HTTPS_PROXY=http://localhost:3128
export http_proxy=http://localhost:3128
export https_proxy=http://localhost:3128
# add configuration to git command line tool
git config --global http.proxy http://localhost:3128
git config --global https.proxy http://localhost:3128
git config --global url."http://".insteadOf git://
Стандартные переменные среды в Bash создаются в верхнем регистре, для прокси те HTTP_PROXY
и HTTPS_PROXY
, но некоторые инструменты ожидать от них быть в нижнем регистре, беседка - один из этих инструментов. Вот почему я предпочитаю устанавливать прокси в двух случаях: ниже и выше.
Bower использует git для получения пакетов от GitHub, поэтому ключи конфигурации необходимо добавить в git. http.proxy
и https.proxy
являются настройками прокси-сервера и должны указывать на ваш прокси-сервер. И последнее, но не менее важное: вам нужно сказать git, чтобы не использовать протокол git://
, поскольку он может быть заблокирован брандмауэром. Вам необходимо заменить его стандартным протоколом http://
. Кто-то предлагает использовать https://
вместо git://
, как показано ниже: git config --global url."https://".insteadOf git://
, но я получал ошибку Connection reset by peer
, поэтому я использую http://
, который отлично работает для меня.
Дома я не пользуюсь прокси-сервером и не имею корпоративного брандмауэра, поэтому предпочитаю переключиться на «обычные» настройки без прокси-сервера. Вот как я это делаю:
# remove proxy environment variables
unset HTTP_PROXY
unset HTTPS_PROXY
unset http_proxy
unset https_proxy
# remove git configurations
git config --global --unset http.proxy
git config --global --unset https.proxy
git config --global --unset url."http://".insteadOf
Я не очень хорошо запоминают вещи, так что я никогда бы не помнить все эти команды. Вдобавок к этому я ленив и не хочу набирать эти длинные команды вручную. Вот почему я создавал функции для установки и отмены настроек прокси-сервера.Вот 2 функции Я добавил к моему .bashrc
файлу после некоторых определений псевдонимов:
set_proxy() {
export HTTP_PROXY=http://localhost:3128
export HTTPS_PROXY=http://localhost:3128
# some tools uses lowercase env variables
export http_proxy=http://localhost:3128
export https_proxy=http://localhost:3128
# config git
git config --global http.proxy http://localhost:3128
git config --global https.proxy http://localhost:3128
git config --global url."http://".insteadOf git://
}
unset_proxy() {
unset HTTP_PROXY
unset HTTPS_PROXY
unset http_proxy
unset https_proxy
git config --global --unset http.proxy
git config --global --unset https.proxy
git config --global --unset url."http://".insteadOf
}
Теперь, когда мне нужно установить прокси-сервер, я просто выполнить set_proxy
команды и дезактивировать unset_proxy
команды. С помощью автозаполнения Баша мне даже не нужно вводить эти команды, но пусть вкладка завершит их для меня.
Возможный дубликат [настройки прокси-сервера bower] (http://stackoverflow.com/questions/18359887/bower-proxy-configuration) –
Хорошая компиляция всего, что мы должны сделать, чтобы все работало! Отличная работа! : +1: – IcyFlame